dan*_*jar 9 angular2-template ngfor angular2-changedetection angular
我有一个Angular 2组件,用于*ngFor
渲染嵌套的数字数组.
@Component({
selector: 'app',
template: `
<div *ngFor="let row in data">
<div *ngFor="let curve in row">
<chart [data]="curve">
</div>
</div>
`,
directives: [Chart],
})
export default class App {
data: number[][][];
}
Run Code Online (Sandbox Code Playgroud)
当我改变时data
,<chart>
即使新数组具有相同的尺寸,Angular 也会替换元素.我只想更新图表的属性但保留元素(以便我可以设置数据变化的动画).
可以理解,Angular会替换元素,因为新数组是一个新的对象引用.但我怎么能绕过这个呢?
使用ngForTrackBy应该可以帮到你.
以下函数应更新元素属性,同时保留DOM中的元素.
trackByIndex(index: number, data: any) { return index; }
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2770 次 |
最近记录: |