本文整理汇总了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;
});