2017-02-27 9 views
1

コンポーネントがあり、inner htmlが動的に変更されています。私はこのコンポーネントの子DOM要素に対していくつかの操作を行うので、このコンポーネントのinner htmlが変更されるたびに操作を繰り返す必要があります。例えばAngular2 - innerHTMLが変更されたときに何かする

コンポーネントで:

myElements = this.el.nativeElement.querySelectorAll('.myClass'); 
// do something with that DOM elements 

とビューで:

<div *ngFor="let item of myItems"> 
    <div class="myClass">...</div> 
</div> 

私はたびmyItems

myElements = this.el.nativeElement.querySelectorAll('.myClass'); 

を呼び出す必要がありますが更新され、新しいDOM要素がロードされています。

innerHTMLngOnChange()にバインドすることはできますか?これを達成する他の方法はありますか?

答えて

2

あなたはngDoCheckを試みることができる:

https://angular.io/docs/ts/latest/api/core/index/DoCheck-class.html

手動でカスタムコードを実行し、古い値とinnerHTMLプロパティの新しい値をチェックします。

潜在例:

public ngDoCheck(){ 
    if(this.oldInnerHtml != this.newInnerHtml){ 
     //take custom action 
    } 
} 
+1

は私が探しているものだ、ありがとう! –

関連する問題