这就是任务:您的任务是创建一个简单的角度组件,名为TestComponent,由选择器测试组件标识。该组件必须具有名为inputData的类型的输入属性。如果没有输入数据(空的或丢失的),你必须在一个带有id="noData“的div中写入"No data”。如果输入是给定的,则此div不能出现在页面的DOM中。
如果给定了输入,则必须将输入数组的元素写入单独的div中。div必须是带有id="dataList“的div的子级。如果任何给定字符串的长度为奇数,则文本的颜色应为红色。如果是均匀的,颜色应该是绿色的。
这就是我所做的:
import { Component, NgModule, EventEmitter, Output, Input } from '@angular/core';
@Component({
selector: 'app-test-component',
template: `
<test-component>
<div id="noData" *ngIf=!'inputData'>No data</div>
<div id="dataList"></div>
</test-component>
<test-component>
<div id="dataList" *ngIf='inputData'>
<div *ngFor="let item of inputData; odd as isOdd; even as isEven;[ngClass]="{even: isEven, odd: isOdd}">
<div>{{item}}</div>
</div>
</div>
</test-component>
`,
style: '.even {
background-color: read;
color: white;
}
.odd {
background-color: gren;
color: white;
}'
})
export class TestComponent{
@Input() inputData: Array<string>;
}我的疑虑是尊重!在ngIf上,从Dom中去掉元素和奇偶数。这些都是我还没有的部分。你能给我改正一下吗?
发布于 2021-07-19 23:42:21
您的bang/!位于错误的位置。它应该在引号内。
<div id="noData" *ngIf="!inputData!>No data</div>isOdd或isEven的来源是什么?这是输入的一个字段,还是需要计算它?你可以这样做...
<div *ngFor="let item of inputData; index as index;" [ngClass]="{even: index % 2 === 0, odd: index % 2 !== 0}">https://stackoverflow.com/questions/68443262
复制相似问题