Javascript 有棱角的,无可数的。需要建立Iterable
角度为2+的*ngFor需要通过创建n个元素的数组来构建iterable(行):Javascript 有棱角的,无可数的。需要建立Iterable,javascript,angular,loops,iterator,ngfor,Javascript,Angular,Loops,Iterator,Ngfor,角度为2+的*ngFor需要通过创建n个元素的数组来构建iterable(行): <table> <tr *ngFor="let row of rows"> </tr> </table> 有一种迭代数字的方法吗??。 提前感谢。我将使用以下语法将索引值设置为HTML元素的属性: <table> <tr *ngFor="let item of items; let i = index" [attr.data-in
<table>
<tr *ngFor="let row of rows">
</tr>
</table>
有一种迭代数字的方法吗??。
提前感谢。我将使用以下语法将索引值设置为HTML元素的属性:
<table>
<tr *ngFor="let item of items; let i = index" [attr.data-index]="i"> // data-index attribute will be assigned index
</tr>
</table>
//数据索引属性将被指定为索引
您可以使用组件类的方法生成行索引数组:
public generateRowIndexes(count: number): Array<number> {
let indexes = [];
for (let i = 0; i < count; i++) {
this.indexes.push(i);
}
return indexes;
}
public generateRowIndexes(count:number):数组{
让索引=[];
for(设i=0;i
并在模板中调用它:
<table>
<tr *ngFor="let rowIndex of generateRowIndexes(5)">
...
</tr>
</table>
...
可以在中测试代码。在哪里不存在?您需要行的索引吗?我假设数组.from(Array(count).keys());将比以下命令更快:createRows(num:number){this.rows=[];for(var i=0;i
Array.from
表达式,因为它通常被认为是创建索引数组的最简单(或最短)方法,但显然,如果性能是一个问题,它并不是最好的方法。我注意到,对于10000条记录,这两种方法在我的机器上都需要不到1ms的时间。为什么访问函数GeneratorWindexes在模板上会多次触发该函数。这是一个角度问题吗??。使用console.logIt进行测试可能是由角度变化检测机制引起的。您可以尝试使用行计数作为@Input()
参数的ChangeDetectionStrategy.OnPush
(请参阅)。有了它,应该只在需要时调用更改检测。不过,这种优化有一些缺陷(请参阅)。因此,您可能更愿意保留标准策略。