gpt4 book ai didi

在多个模块中声明的 Angular2 组件

转载 作者:太空狗 更新时间:2023-10-29 17:26:12 25 4
gpt4 key购买 nike

我的 Angular2 RC6 应用程序有两个模块,我不确定如何声明共享组件。

我有一个名为 spinnerComponent 的组件,它在整个应用程序中使用。我在 app.modules.as 中定义了它:

@NgModule({
imports: [BrowserModule, routing,RepairReturnModule],
providers: [ ],
declarations: [AppComponent,SpinnerComponent],
bootstrap: [AppComponent]
})

然后在 RepairreturnModule 中我再次将其定义为:

@NgModule({
imports: [CommonModule],
declarations: [
SpinnerComponent
],
providers: []
})

如预期的那样,我得到:

Type SpinnerComponent is part of the declarations of 2 modules: RepairReturnModule and AppModule

我从 RepairreturnModule 的声明中删除了 SpinnerComponent,然后我得到:

Unhandled Promise rejection: Template parse errors: Can't bind to 'isRunning' since it isn't a known property of 'spinner-component'. 1. If 'spinner-component' is an Angular component and it has 'isRunning' input, then verify that it is part of this module. 2. If 'spinner-component' is a Web Component then add "CUSTOM_ELEMENTS_SCHEMA" to the '@NgModule.schema' of this component to suppress this message. ... which indicated that it is not declared.

我错过了什么?

最佳答案

exports: [Spin​​nerComponent] 添加到您的 app.modules NgModules 装饰器。

引用:https://angular.io/docs/ts/latest/guide/architecture.html ,

```NgModule 是一个装饰器函数,它接受一个元数据对象,该对象的属性描述了模块。最重要的属性是:

...

exports - 应该在其他模块的组件模板中可见和可用的声明的子集。

...

```

关于在多个模块中声明的 Angular2 组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39399864/

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