8

这个问题不是问如何访问循环变量,例如 i、first、last,而是如何检索变量并将其设置为 TEMPLATE VARIABLES。


这不工作...

<div #lastElement="arr[arr.length-1]"></div>

所以我实际上需要在组件中创建一个局部变量然后直接绑定它?

我觉得过去我可以用 ng-* 指令完成的很多事情都需要在 Component 中进行硬编码......有点退化 tbh

4

3 回答 3

14

您可以使用 boolean 关键字last,在此示例中:

<div *ngFor="let item of items;let last = last;let first = first;let index = index">
first:{{first}}
index:{{index}}
last:{{last}}
</div>

结果:

first:true index:0 last:false
first:false index:1 last:false
first:false index:2 last:false
first:false index:3 last:true
于 2016-12-26T11:48:36.473 回答
3

您不能为模板变量分配任意值。模板变量用于引用元素和指令以及用于结构指令的局部变量。

于 2016-02-04T06:13:57.233 回答
1

您将lastelement在模板循环中设置变量。Angular 会自动将循环中的最后一个元素绑定到最后一个指令。

<div *ngFor="#item of items; #lastElement = last">
   // Items go here
</div>

https://angular.io/docs/ts/latest/api/common/NgFor-directive.html

于 2016-04-11T16:44:03.937 回答