Ist das erwartete Verhalten, dass ngOnChanges lifecycle hook nicht aufgerufen wird, wenn dynamische Komponenten geladen werden? Nur der Konstruktor, ngOnInit und ngAfterViewInit werden für mich aufgerufen. Nach der docs sollte es jedoch vor ngOnInit aufgerufen werden.Angular 2 Dynamisches Laden von Komponenten ngOnChanges lifecycle hook call
Ich lade die Komponente wie folgt aus:
@ViewChild('place', { read: ViewContainerRef }) container: ViewContainerRef;
private componentRef: ComponentRef<MyLoggerComponent>;
constructor(private componentFactoryResolver: ComponentFactoryResolver) { }
ngAfterViewInit() {
const componentFactory: ComponentFactory<any> = this.componentFactoryResolver.resolveComponentFactory(MyLoggerComponent);
this.componentRef = this.container.createComponent(componentFactory);
this.componentRef.changeDetectorRef.detectChanges();
}
ngOnChanges() wird nur aufgerufen, wenn Angular Bindungen Update Eingänge und dynamische erstellt Komponenten unterstützen nicht @Input() oder @Output() – yurzui
Regelmäßige Komponente ngOnchange feuern, wenn es @Input hat porperty und es ist aktualisiert Dieser Plünderer wird nicht funktionieren http://plnkr.co/edit/w2Cc1ssw30ZcP0M2gFdJ?p=preview – yurzui
Hier ist die Arbeit mit einer regelmäßigen Komponente plumpere http://plnkr.co/edit/sFl84z0XY6OpCa5imTvz?p=preview – yurzui