0

私はChangeDetectionStrategy.OnPushと複数の@Inputというプロパティを持つコンポーネントを持っています。Angular2コンポーネントを複数のonNgChangeの後に1回だけ更新する

複数のプロパティが同時に変更された場合、私はngOnChangesを複数回呼び出します。

すべてのngOnChangesが完了した後でそのサイズを再計算する必要があります(そのティック/ダイジェスト/変更検出サイクルの場合)。

ので、代わりに

ngOnChanges(a) -> recalculate() 
ngOnChanges(b) -> recalculate() 
ngOnChanges(c) -> recalculate() 

を有していると私が欲しい

ngOnChanges(a) 
ngOnChanges(b) 
ngOnChanges(c) 
recalculate() 

はsetTimeoutメソッドは、おそらく動作しますが、私はNG2ツールを使用してそれを正しく行う方法を知りたいです。

答えて

0

これを試してみてください。もちろん

ngOnChanges(changes: SimpleChange}) { 
    if(changes['a'] && changes['b'] && changes['c']){ 
    recalculate(); 
    } 
    } 
+0

'ngOnChanges'は、一度にすべての変更が含まれているdoesntの – Bolza

関連する問題