2017-03-05 68 views
0

我有一个ListComponent和一个ListItemComponent,它的输入值来自ListComponent,并且如果列表的ListComponent Observable值更改ListItemComponent的值,也应该更改以实现它?谢谢Angular 2如果对象属性更改,则更新@input值

+3

分享你的代码 – Smit

+2

看一看我的[** **答案(http://stackoverflow.com/questions/42596458/how-can-i-detect-the-inner-html-change-in- a-div-with-angular-2/42596914#42596914)它可以帮助你理解onChanges – Aravind

回答

0

所以传统上使用ngOnChanges当你@Input得到更新将开火。但是,为了减少计算负担,Angular将仅检查对象引用,以查看对象中是否发生更改。

更改对象引用应该做的伎俩 - 所以一定要确保,而不是突变的对象你重新分配它或克隆回自己。

实施例:

//don't do this 

myArray[0] = "1" 

//do this 

myArray = [1].concat(myArray.slice(1)); 

当然,孩子应具有原始参考,因为它是相同的对象引用,其将被反射。所以如果你真的需要触发ngOnChanges,你应该只使用类似于上面的东西。

相关问题