/ / Ako môžem zaregistrovať komponentu Angular2, ktorej prvok DOM bol vytvorený inou knižnicou javascript? - javascript, uhlové, uhlovité2-komponenty

Ako môžem zaregistrovať komponentu Angular2, ktorej prvok DOM bol vytvorený inou knižnicou javascript? - javascript, uhlové, uhlovité2-komponenty

Predpokladajme, že mám nejaký komponent DynamicallyAddedComponent spojené s voličom dynamically-added, Je tu aj ďalšia súčasť ParentComponent ktorý obsahuje nejaký iný, nehlučný, javascript tretej strany, ktorý manipuluje s jeho vnútorným stromom DOM a môže pridať alebo odstrániť <dynamically-added> tagy.

Keď pridám a <dynamically-added> tag priamo na šablónu ParentComponent to sa stáva v poriadku, ale keď moja knižnica tretích strán pridá značky, uhlová nerozpozná, že bol pridaný komponent.

Pridal som obe zložky do @NgModule vyhlásenia v app.module.ts, Pridal som tiež hovory ChangeDetectorRef.detectChanges() a ApplicationRef.tick() v rámci manipulátorov udalostí pre udalosti modifikácie tretej strany.

Takže ako môžem ručne povedať Angular, že bol komponent pridaný alebo odstránený? Ako rolovo rozpoznáva a bootstrap komponenty interne?

odpovede:

1 pre odpoveď č. 1

Môžete spustiť udalosť tretej strany vo vnútri ngZone ktoré by spustili DOM detekcia zmien.

vnútri component.ts

constructor( public ngZone: NgZone) {}
ngZone.run( () => { // Change the property within the zone
//3rd party event action
});