我正在使用Angular 2.0.0-rc.5
,我有一个看起来像这样的组件:
@Component({
...
template: `
<div *ngFor="let item of items; let i = index"
[style.width]="getItemWeight(i)">
<!--
Also I tried to bind it like this: [style.width]="(weights[i]*100)+'%'"
But it binds only once anyway :-(
-->
...
</div>
`
})
class MyComponent {
private weights : number[] = [];
@Input() items : any[] = [];
/*
Here I have some logic which alters this.weights (or even replaces it - I tried both ways).
*/
private getItemWeight(index : number) : string {
return `${this.weights[index] * 100}%`;
}
}
我有一个items
数组和相应的私有weights
数组。
一切都很好,除了绑定到weights
- 它设置一次样式,但由于某些原因,在weights
数组更改或甚至替换时不更新它。
另外我想提一下,它与区域没有连接等等 - 我用简单的字符串变量对它进行了测试,它以相同的方式声明并在同一个地方进行了更改 - 所有这些都与它完美配合,我认为我的问题与weights
是数组的事实有关。