gpt4 book ai didi

angular - 组件由多个 NgModule 声明

转载 作者:行者123 更新时间:2023-12-03 15:59:01 28 4
gpt4 key购买 nike

所以我创建了一个组件 示例组件 并在 的模块中声明它不是在 app.module 中列出。
接下来我要声明组件 示例组件 在一个模块中 在 app.module 中列出。我该怎么做呢?如果我简单地声明它,我会收到以下错误:组件 示例组件 由多个 NgModule 声明。
abc.module.ts

import { ExampleComponent} from '../Example/Example.component';
@NgModule({
declarations: [
ExampleComponent
]
})
app.module.ts
import { NewModule} from '../new/new.component';
@NgModule({
imports: [
NewModule
declarations: [

]
})
新模块
import { ExampleComponent} from '../Example/Example.component';
@NgModule({
declarations: [
ExampleComponent
]
})

最佳答案

如果您在多个模块中使用您的组件,则意味着该组件是共享的。
您需要为您的 ExampleModule 创建一个专属模块 ( ExampleComponent ) , 然后将该模块导入到任何你想使用的地方 ExampleComponent .
所以创建 ExampleModule:

import { NgModule } from '@angular/core';
import { ExampleComponent} from '../Example/Example.component';
@NgModule({
declarations: [
ExampleComponent,
],
exports: [
ExampleComponent,
]
})
export class ExampleModule { }
然后导入到你想使用的地方 ExampleComponent (到 abc moduleapp module )像这样:
import { ExampleModule } from '../example.module';
@NgModule({
imports: [
ExampleModule
]
...
})
通过为共享组件定义单独的模块,您提供了一些封装层,您可以在其中描述和提供组件工作所需的所有依赖项,因此,将来所有消费者只需要导入模块本身而无需了解有关所有这些依赖项的任何信息。

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

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com