是否可以在Angular 2模板中声明和操作变量(非元素)?

时间:2016-05-05 20:43:34

标签: templates typescript angular

例如,我有一组输入,我想在它们上设置'tab'属性,向下递增页面。我不想说确切的标签号,因为我可能稍后编辑模板并插入新的输入,我不想重做每个数字。

In [296]: s[pd.cut(s, bins=range(0, 110, 10), labels=labels).isin(['1 - 10','21 - 30','41 - 50'])]
Out[296]:
0     1
3    23
5    45
dtype: int64

所以我宁愿在模板中使用变量 local,因为使用组件函数会产生错误('Expression''在检查后发生了变化。')

在像* ngFor这样的指令中有这样的局部变量,所以可以在组件模板中做同样的事情吗?或者通常是一种实现这种效果的方法(即不只是形式或某种东西)?

像:

<input [attr.tab]="1" />
<input [attr.tab]="2" />
<input [attr.tab]="3" />

模板语法文档:https://angular.io/docs/ts/latest/guide/template-syntax.html

编辑:不使用* ngFor或任何模板循环,我不是要尝试指定内部模板。

1 个答案:

答案 0 :(得分:1)

<input [attr.tab]="'1'" #tab1 />
<input [attr.tab]="tab1.getAttribute('tab') + 1" />
<input [attr.tab]="tab1.getAttribute('tab') + 2" />

另见这个未解决的问题。 https://github.com/angular/angular/issues/2451