angular - 组件 'TopSearchBarComponent' 由多个 NgModule 声明 - Angular 10

标签 angular angular10

我是 Angular 新手。我有像 TopSearchBarComponent 这样的组件。我需要在所有模块中使用相同的组件。 我有以下模块

app.module.ts
a.module.ts
b.modules.ts

如果我在两个 ngModule 中声明 TopSearchBarComponent,我会收到类似 由多个 NgModule 声明之类的错误

我的问题是如何在所有模块中以最佳方式使用相同的组件。

谢谢,

最佳答案

组件不能在多个模块中声明,因此如果您要在多个模块中使用组件,那么简单的解决方案是在其自己的模块中声明组件并将其导出,使用 CLI 您可以运行

  • ng g m my-element 这会生成 MyElementModule
  • ng g c my-element 这会生成上面步骤 1 中在 MyElementModule 中声明的 MyElementComponent
  • 最后,在 MyElementModule 的 @NgModule 装饰器数组中添加带有 MyElementComponent 的 exports 数组

此后,每当您希望使用该组件时,只需导入该模块即可,这样该组件将永远不会在多个模块中声明

关于angular - 组件 'TopSearchBarComponent' 由多个 NgModule 声明 - Angular 10,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63745544/

相关文章:

angular - 使用 Angular 为 2 的按钮导航到另一个页面

javascript - Angular Subscribe 在值更改之前不起作用(需要首先初始化)

Angular:使用 Typescript 使表单值只读变灰并使数据获取有效

Visual Studio Code 中 HTML 组件中的 Angular 10 “No definition found for …”

angular - 将数字类型转换为 BigDecimal TypeScript(Angular)

typescript - 如何让 PrimeNG 菜单栏组件工作?

javascript - 我们可以在外部 .ts 文件中声明类中所需的所有变量吗?

javascript - 错误类型错误 : Cannot delete property '1' of [object Array]

angular - 'formDirective' 被定义为类 'ControlContainer' 中的访问器,但在 'ConnectArrayDirective' 中作为实例属性被覆盖

angular - 使用 Angular 自定义 Web 组件会引发错误 : The selector "app-root" did not match any elements