In unten abgewinkelte Ausführung 2.2.0
, ich bin an der Linie unter Fehler bekommen,Property 'und dann' existiert nicht auf Typ 'Component <SpinnerComponent>'
Plunker Link
http://plnkr.co/edit/f6GBBQan7z4I9K1qBZOi?p=preview
spinnerRef.then((factory: ComponentFactory<any>) => {
Fehler, Eigenschaft 'then' existiert nicht beim Typ 'ComponentFactory'
Was könnte Grund dafür sein und die Lösung, bitte vorschlagen. Vielen Dank!
import { Injectable, ApplicationRef, ViewContainerRef, Component, ComponentRef, ComponentFactoryResolver, ComponentFactory, ViewChild } from '@angular/core';
import { SpinnerComponent } from '../components/blockui/blockui.component';
@Injectable()
export class SpinnerService {
spinnerComp: ComponentRef<any>;
constructor(private _appRef: ApplicationRef, private _resolver: ComponentFactoryResolver) {
}
public start() {
let elementRef: ViewContainerRef = (<any>this._appRef)['_rootComponents'][0].location;
return this.startInside(elementRef, null);
}
public startInside(elementRef: ViewContainerRef, anchorName: string) {
let spinnerRef = this._resolver.resolveComponentFactory(SpinnerComponent);
spinnerRef.then((factory: ComponentFactory<any>) => {
this.spinnerComp = elementRef.createComponent(factory)
});
}
public stop() {
if (this.spinnerComp) {
this.spinnerComp.destroy();
}
}
}
Danke, ist jetzt Fehler entfernen, aber wenn ich laufe ich Fehler bin immer „Keine Komponente Fabrik für SpinnerComponent gefunden“ –
Sie wahrscheinlich hinzufügen, nicht 'SpinnerComponent' zu' @NgModule ({entryComponents: [SpinnerComponent], ...}) 'Das ist für alle dynamisch hinzugefügten Komponenten erforderlich. –
Ich unter @ Deklaration, wenn ich versuche, unter entryComponents setzen, ist es wirft Fehler "Component SpinnerComponent ist nicht Teil eines NgModule oder das Modul wurde nicht in Ihr Modul importiert.; Zone:; Aufgabe:" –