大佬教程收集整理的这篇文章主要介绍了Angular 6 custom lib没有ComponentFactoryResolver的提供程序,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
constructor( private componentFactoryResolver: ComponentFactoryResolver ) {}
并在目标应用程序中构建lib(成功)(我在本地文件中添加我的lib.json中的lib)我有这样的错误:
StaticInjectorError(AppModulE)[MyLibComponent-> ComponentFactoryResolver]: StaticInjectorError(Platform: corE)[MyLibComponent-> ComponentFactoryResolver]: NullInjectorError: No provider for ComponentFactoryResolver! at NullInjector.push../node_modules/@angular/core/fesm5/core.js.NullInjector.get (core.js:979) at resolveToken (core.js:1232) at tryResolveToken (core.js:1182) at StaticInjector.push../node_modules/@angular/core/fesm5/core.js.StaticInjector.get (core.js:1077) at resolveToken (core.js:1232) at tryResolveToken (core.js:1182) at StaticInjector.push../node_modules/@angular/core/fesm5/core.js.StaticInjector.get (core.js:1077) at resolveNgModuleDep (core.js:9238) at NgModuleRef_.push../node_modules/@angular/core/fesm5/core.js.NgModuleRef_.get (core.js:9919)
没有ComponentFactoryResolver,其他工作正常
完整组件:
import { Component,ComponentFactoryResolver,AfterContenTinit,ViewChild,Inject,Input,InjectionToken } from '@angular/core'; import { AbHostDirective } from './../directives/ab-host.directive'; export const AB_COMPONENTS = new InjectionToken('AB_COMPONENTS'); @Component({ SELEctor: 'lib-ab',template: `<ng-template lib-ab-host></ng-template>`,styles: [] }) export class MyLibComponent implements AfterContenTinit { @ViewChild(AbHostDirectivE) abHost: AbHostDirective; @input() globalConfiguration: any; @input() domain = ''; constructor( @Inject(AB_COMPONENTS) private $configuredComponents: any,private componentFactoryResolver: ComponentFactoryResolver ) {} ngAfterContenTinit() { const currentConfiguration = this.$configuredComponents[this.domain]; if (!currentConfiguration) { console.error('No component for: ',+ this.domain); return; } const randomIndex = Math.floor(Math.random() * currentConfiguration.length); const componentFactory = this.componentFactoryResolver.resolveComponentFactory(currentConfiguration[randomIndex]); const viewContainerRef = this.abHost.viewContainerRef; viewContainerRef.clear(); const componentRef = viewContainerRef.createComponent(componentFactory); const instance = <any>componentRef.instance; instance.globalConfiguration = this.globalConfiguration; } }
以上是大佬教程为你收集整理的Angular 6 custom lib没有ComponentFactoryResolver的提供程序全部内容,希望文章能够帮你解决Angular 6 custom lib没有ComponentFactoryResolver的提供程序所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。