2017-03-05 7 views
0

ListComponentとListItemComponentを持ち、ListComponentのListComponent Observable値が変更された場合、ListItemComponent値も変更する必要がありますお返事ありがとうございます。角2オブジェクトのプロパティが変更された場合は、@入力値を更新します

+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を起動する必要がある場合は、上記と同様のものを使用してください。

関連する問題