相关疑难解决方法(0)

ngFor指令是否在每个突变上重新呈现整个数组?

假设我们有一系列项目:

items = [
    { title: 'item 1'},
    { title: 'item 2'},
    /* ... */
];
Run Code Online (Sandbox Code Playgroud)

并且有一个呈现此数组的模板:

<ul>
    <li *ngFor="let item of items">{{item.title}}</li>
</ul>
Run Code Online (Sandbox Code Playgroud)

如果我通过push/ 添加/删除项目,splice或者只添加/删除相应项目的标记,那么angular2会重新渲染整个数组吗?如果它只是更新,那么变异stategies是否有任何区别 - 我是否更喜欢推/拼接而不是阵列替换?换句话说,这两种方法在渲染性能方面是否相同:

/* 1: mutation */
this.items.push({ title: 'New Item' });

/* 2: replacement */
var newArray = this.items.slice();
newArray.push({ title: 'New Item' });

this.items = newArray;
Run Code Online (Sandbox Code Playgroud)

arrays ngfor angular

16
推荐指数
2
解决办法
6873
查看次数

标签 统计

angular ×1

arrays ×1

ngfor ×1