导入定制的Angular库时出现StaticInjectorError

我已经构建了自己的Angular库(称为ProcessorModule),并希望在其他应用程序中使用它。但是,每当导入库时,都会出现以下错误:

StaticInjectorError(AppModule)[StatusComponent -> MainProcessComponent].
NullInjectorError: No provider for MainProcessComponent!

这发生在MainProcessComponent的html中,该html具有嵌套的StatusComponent(特别是当我使用“状态”选择器时:

/* MainProcessComponent.html */
<h2>This is the MainProcessComponent view</h2>

<div>
    <status></status>
</div>

这是我的processor.module.ts文件:

import { NgModule } from '@angular/core';
import { Commonmodule } from "@angular/common";
import { FormsModule } from "@angular/forms";
import { HttpClientModule } from "@angular/common/http";

import { MainProcessComponent } from "./components/process.component";
import { StatusComponent } from "./components/status.component";

@NgModule({
  imports: [
    routing,Commonmodule,FormsModule,HttpClientModule
  ],exports: [
    MainProcessComponent,ProcessComponent,StatusComponent
  ],declarations: [
    MainProcessComponent,bootstrap: [

  ]
})
export class ProcessorModule { }

我为ProcessorModule构建/打包.tgz文件,然后使用

将其导入我的外部应用程序
import { ProcessorModule} from "processor-module";

@NgModule的imports部分中,我添加:

@NgModule({
    imports: [
        ...,ProcessorModule,...
    ]
})
export class OutsideAppModule { }

请记住,上面的代码已简化,以帮助说明我的问题。我认为将两个组件都添加到processor.module.ts的exports部分中可以解决我的问题。有人可以看到我到底在做什么错吗?

编辑:我已经将MainProcessComponent添加到了processor.module.ts的“导出”和“声明”部分,但是仍然出现相同的错误。

corlins 回答:导入定制的Angular库时出现StaticInjectorError

MainProcessComponent未导出到processor.module.ts的导出数组中。

processor.module.ts

@NgModule({
  imports: [..],exports: [
    ProcessComponent,StatusComponent,MainProcessComponent // added
  ],declarations: [...],bootstrap: [... ]
})
export class ProcessorModule { }
,

解决了我的问题-我在另一个组件的构造函数中声明了一些未使用的组件(上面未显示)。删除它们后,一切正常。

本文链接:https://www.f2er.com/3155670.html

大家都在问