2017-07-01 5 views
4

プロパティを新しいオブジェクトに設定するのではなく、データバインドされたオブジェクトのいずれかのプロパティが変更された場合、ngOnChanges()をトリガする方法を教えてください。データバインドされたオブジェクトのプロパティを変更してOnChangesをトリガーする

// component 
@Input() myObj: ObjType; 
// component code... 

これは、オブジェクトを変異させたときにこれが

dataBoundObj = new ObjType(); 
+0

をちょっと、[私の答え](https://stackoverflow.com/a/44857200/2545680)を支援しましたか? –

答えて

2

角度が変更を検出しないん変更

// outside component 
dataBoundObj.width = 1000; 

をトリガしません。ただし、現在のコンポーネントをチェックすると、ngDoCheckがトリガーされます。だから、あなたが自分自身をチェックして、そこからngOnChangesをトリガー実行することができます。

ngDoCheck() { 
    if (this.o.width !== this.oldWidth) { 
     this.ngOnChanges(); 
    } 
} 
関連する問題