Angular 9.0.4,异步管道在子模块中未找到(git仓库)

5
我开始使用Angular 9.0.4启动了一个新项目,在我的子模块中,当我尝试在*ngIf中使用AsyncPipe时,会出现“AsyncPipe未找到”的错误。在Google上唯一找到的解决方法是禁用Ivy,或者关闭已知缺陷而没有解决方案。这似乎是一个基本的问题,在Angular 6、7、8中都可以使用,但在9中不行。
以下是一个Github存储库,其中包含足够的内容以重现此问题。AppModule有一个组件Test1Component,它使用AsyncPipe没有问题。还有一个“AnotherModule”,其中Test2Component使用完全相同的代码,并显示“未找到AsyncPipe”错误。
我还读到必须导入CommonModule,并且默认情况下已包含在新模块中。但我仍然感到困惑。谢天谢地这只是个人项目,不至于万劫不复(目前如此!)
链接: https://github.com/jamisonroberts/Angular9Test.git

尝试将 CommonModule 添加到 another-module-routing.module.ts 的导入中。 - Bill F
这个问题还没有解决。如果我在 another-module.module.ts 中添加 BrowserModule 也没有任何进展(盲目尝试)。 - Luna the Cat
找不到代码仓库。 - Patrick Michaelsen
1个回答

5

你的AppModule文件中没有正确导入模块。

app.module.ts

@NgModule({
  declarations: [
    AppComponent,
    Test1Component
  ],
  imports: [
    BrowserModule,
    // AnotherModuleRoutingModule,
    AnotherModuleModule,
    AppRoutingModule
  ],
  providers: [],
  bootstrap: [AppComponent]
})
export class AppModule { }

不应该导入其他模块的路由文件,而是应该直接导入所需的模块。在更正了模块导入之后,异步管道应该可以正常工作。

有关特性模块的更多信息,请参阅Angular官方文档


明白了,谢谢!真不敢相信我犯了那个错误! - Luna the Cat
2
最重要的是:在修复后,您需要再次调用ng serve。 - Martin Cremer

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接