本文整理匯總了TypeScript中@angular/core.ComponentFactory.create方法的典型用法代碼示例。如果您正苦於以下問題:TypeScript ComponentFactory.create方法的具體用法?TypeScript ComponentFactory.create怎麽用?TypeScript ComponentFactory.create使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類@angular/core.ComponentFactory
的用法示例。
在下文中一共展示了ComponentFactory.create方法的4個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。
示例1: open
open(moduleCFR: ComponentFactoryResolver, contentInjector: Injector, content: any, options): NgbModalRef {
const containerSelector = options.container || 'body';
const containerEl = document.querySelector(containerSelector);
if (!containerEl) {
throw new Error(`The specified modal container "${containerSelector}" was not found in the DOM.`);
}
const activeModal = new NgbActiveModal();
const contentRef = this._getContentRef(moduleCFR, contentInjector, content, activeModal);
let windowCmptRef: ComponentRef<NgbModalWindow>;
let backdropCmptRef: ComponentRef<NgbModalBackdrop>;
let ngbModalRef: NgbModalRef;
if (options.backdrop !== false) {
backdropCmptRef = this._backdropFactory.create(this._injector);
this._applicationRef.attachView(backdropCmptRef.hostView);
containerEl.appendChild(backdropCmptRef.location.nativeElement);
}
windowCmptRef = this._windowFactory.create(this._injector, contentRef.nodes);
this._applicationRef.attachView(windowCmptRef.hostView);
containerEl.appendChild(windowCmptRef.location.nativeElement);
ngbModalRef = new NgbModalRef(windowCmptRef, contentRef, backdropCmptRef);
activeModal.close = (result: any) => { ngbModalRef.close(result); };
activeModal.dismiss = (reason: any) => { ngbModalRef.dismiss(reason); };
this._applyWindowOptions(windowCmptRef.instance, options);
return ngbModalRef;
}
示例2: open
open(moduleCFR: ComponentFactoryResolver, contentInjector: Injector, content: any, options): DrawerRef {
const containerSelector = options.container || 'body';
const containerEl = document.querySelector(containerSelector);
if (!containerEl) {
throw new Error(`The specified drawer container "${containerSelector}" was not found in the DOM.`);
}
const activeDrawer = new ActiveDrawer();
const contentRef = this._getContentRef(moduleCFR, contentInjector, content, activeDrawer);
let drawerCmptRef: ComponentRef<DrawerComponent>;
let backdropCmptRef: ComponentRef<DrawerBackdropComponent>;
let drawerRef: DrawerRef;
if (options.backdrop !== false) {
backdropCmptRef = this._backdropFactory.create(this._injector);
this._applicationRef.attachView(backdropCmptRef.hostView);
containerEl.appendChild(backdropCmptRef.location.nativeElement);
}
drawerCmptRef = this._drawerFactory.create(this._injector, contentRef.nodes);
this._applicationRef.attachView(drawerCmptRef.hostView);
containerEl.appendChild(drawerCmptRef.location.nativeElement);
drawerRef = new DrawerRef(drawerCmptRef, contentRef, backdropCmptRef);
activeDrawer.close = (result: any) => { drawerRef.close(result); };
activeDrawer.dismiss = (reason: any) => { drawerRef.dismiss(reason); };
this.applyDrawerOptions(drawerCmptRef.instance, options);
return drawerRef;
}
示例3: createComponent
public createComponent() {
const injector = Injector.create({
parent: this.parentInjector,
providers: [
{
provide: EditorNodeViewContext,
useValue: new EditorNodeViewContext(this.node, this.view, this.getPos),
},
],
})
this.componentRef = this.componentFactory.create(injector, null, this.node, this.ngModule)
}
示例4:
.then((factory:ComponentFactory) => {
this.placeholder = factory
.create(this.viewContainer.injector, undefined, this.window.document.body)
.instance;
});