![](/img/trans.png)
[英]How can I determine if a dynamically-created DOM element has been added to the DOM?
[英]How can I register an Angular2 Component whose DOM element has been created by another javascript library?
假設我有一些與dynamically-added
的選擇器相關聯的組件DynamicallyAddedComponent
。 還有另一個組件ParentComponent
,其中包含其他一些非Angular第三方javascript,它正在操縱其內部DOM樹,並可能添加或刪除<dynamically-added>
標簽。
當我直接在ParentComponent
的模板中添加<dynamically-added>
標簽時,它呈現的很好,但是當我的第三方庫添加標簽時,angular無法識別已添加了組件。
我加入這兩個組件的@NgModule
在聲明app.module.ts
。 我還添加了對第三方修改事件的事件處理程序中的ChangeDetectorRef.detectChanges()
和ApplicationRef.tick()
調用。
那么如何手動告訴Angular已添加或刪除了組件? Angular如何在內部識別和引導組件?
您可以在ngZone
運行第3方事件,這將觸發DOM
更改檢測。
內部component.ts
constructor( public ngZone: NgZone) {}
ngZone.run( () => { // Change the property within the zone
//3rd party event action
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.