我有一个组件,其inner html
正在动态变化。我对此组件的子DOM元素执行了一些操作,因此每次更改此组件的inner html
时都必须重复操作。
例如在组件中:
myElements = this.el.nativeElement.querySelectorAll('.myClass');
// do something with that DOM elements
在视图中:
<div *ngFor="let item of myItems">
<div class="myClass">...</div>
</div>
我必须致电
myElements = this.el.nativeElement.querySelectorAll('.myClass');
每次更新myItems并加载新的DOM元素。
我可以将innerHTML
绑定到ngOnChange()
还是有其他方法可以实现此目的?
答案 0 :(得分: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
}
}