2017-04-14 12 views
3

ngOnChangesの最初のトリガをスキップする方法はありますか?現在、私はそれを無視するために、この単純なアプローチを使用しています:角2:ngOnChangesの最初のトリガを無視しますか?

isFirst: boolean = true; 

    ngOnChanges(changes: SimpleChanges) { 
    if (this.isFirst) { 
     this.isFirst = false; 
     return; 
    } 
    console.log(changes); 
    } 

答えて

2

を使用することができます...

changesは、変更されたオブジェクトの配列です。入力がmyInputの場合は、changes['myInput']を実行して変更アレイ内のそのオブジェクトにアクセスする必要があります。 myInputが含ま:

  • previousValue - (変更前)物体の前回値
  • currentValue - これがが初めてであるか否かをブール -
  • firstChangeが変更されたオブジェクトの現在の値 が変更されました(これは、コンポーネントが を初期化するときにtrueになります)。isFirstChange()は、これが最初の変更であればtrueを返します。

コード:

//your input 
@Input() myInput: any; 

ngOnChanges(changes: any) { 
    //check if this isn't the first change of myInput 
    if(!changes['myInput'].isFirstChange()) { 
    //do something 
    } 
} 
関連する問題