绑定到数组项只​​能运行一次

时间:2016-08-16 21:34:06

标签: angular

我正在使用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是数组的事实有关。

0 个答案:

没有答案