Cuando tengo 1 instancia de mi directiva en mi página HTML, todo funciona muy bien. Pero cuando uso la misma directiva en la misma página más de una vez, aparece un error en la creación de la plantilla del componente que usa la directiva.
Parece que esta línea de código falla al crear la fábrica:
private myDirective: ComponentRef<MyComponentContainer>; ... const factory = this.resolver.resolveComponentFactory(MyComponentContainer); // fails this.myDirective= this.viewContainerRef.createComponent(factory); // not run at all MyComponentContainr es solo un componente con una plantilla simple.
¿Lo que está mal?
El error es cuando trato de hacer algo como eso:
this.myDirective.instance.top = 10; // EXCEPTION: Error in :0:0 caused by: Cannot read property 'instance' of undefinedCreo que el problema es cuando uso un servicio dentro de la directiva:
this.MyService.dataUpdated.subscribe ( (data: Dimension) => { this.callFunc(); } )