Angular 2-呈现innerHtml后的事件
我有一个div元素,其中innerHtml绑定到字符串(html)属性Angular 2-呈现innerHtml后的事件,angular,angular2-directives,Angular,Angular2 Directives,我有一个div元素,其中innerHtml绑定到字符串(html)属性 <div [effectDirectiveTrigger]="mainContent != null" [innerHtml]="mainContent"></div> 我的问题是,即使属性已被触发,innerHtml也尚未编写。这似乎需要一些时间。只有当它设置了一个ungly超时以允许angular赶上时,它才起作用 有我可以参加的活动吗?或者你有没有其他/更好的想法来实现我的
<div [effectDirectiveTrigger]="mainContent != null"
[innerHtml]="mainContent"></div>
我的问题是,即使属性已被触发,innerHtml也尚未编写。这似乎需要一些时间。只有当它设置了一个ungly超时以允许angular赶上时,它才起作用
有我可以参加的活动吗?或者你有没有其他/更好的想法来实现我的目标?jQuery是否可以提供帮助?
innerHTML
每次更新mainContent
时都会更新,并且发生以下更改检测循环。没有任何事件。更新mainContent
后,您可以自己发出事件。如果您自己使用cdRef.detectChanges()
调用更改检测,那么现在它已呈现 看一看
ngAfterViewInit
应该可以工作。已经尝试了ngAfterViewInit
。它发生得很早,甚至在最后一个ngOnChanges
-mainContent异步加载之前。ngAfterViewInit
是一个仅组件的钩子,这可能是它在我的情况下没有帮助的原因。是否可以提供一个plunker之类的工具?
@Input('effectDirectiveTrigger')
trigger:boolean = false;
ngOnChanges(){
console.log('ngOnChanges');
if (this.trigger){
// fire some effects
// seems to happen before the innerHtml has been rendered
}
}