【问题标题】:Angular 9.0.4, Async Pipe not found in sub module (git repo)Angular 9.0.4,子模块中找不到异步管道(git repo)
【发布时间】:2020-03-04 16:31:49
【问题描述】:

使用 Angular 9.0.4 开始了一个新项目,在我的子模块中,当我尝试在 *ngIf 中使用它时,我得到 AsyncPipe not found。我在 Google 上发现的唯一一件事就是禁用 Ivy,或者关闭了没有解决方案的缺陷。似乎是一个基本的东西,这在 Angular 6、7、8 中有效,但在 Angular 9 中无效。

这是一个足以重现问题的 github 存储库。 AppModule 有一个组件 Test1Component ,它使用 AsyncPipe 没有问题。 Test2Component 中存在“AnotherModule”,它使用完全相同的代码并且出现错误“未找到异步管道”。

我还了解到您必须导入 CommonModule,它默认包含在新模块中。我只能挠头了。值得庆幸的是,这是一个个人项目,而不是世界末日(还没有!)

https://github.com/jamisonroberts/Angular9Test.git

谢谢。

【问题讨论】:

  • 尝试将 CommonModule 添加到 another-module-routing.module.ts 的导入中
  • 那个运气不好。如果我将 BrowserModule 添加到 another-module.module.ts 也没有运气(在黑暗中拍摄)。
  • 找不到仓库

标签: angular


【解决方案1】:

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

app.module.ts

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

您不应该导入其他模块的路由文件。相反,导入所需的模块本身。更正模块导入后,异步管道应该可以正常工作。

有关功能模块的更多信息,请参阅Angular official docs

【讨论】:

  • 你明白了。谢谢!不敢相信我犯了这个错误!
  • 最重要的是:修复后需要再次调用 ng serve。
猜你喜欢
  • 2021-05-22
  • 1970-01-01
  • 2017-01-30
  • 2021-02-02
  • 1970-01-01
  • 2017-01-10
  • 2017-11-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多