AngularJS 2 - 如何将一个模块中定义的组件包含到另一个模块中

时间:2016-12-30 00:58:37

标签: angular

在app下创建了2个模块。

app / util - 在util.module.ts中定义了spinner-component

app / posts - 有主页显示从服务器收集的帖子。在此组件中,我想在从服务器获取详细信息时显示微调器组件。

低于错误。

未处理的承诺拒绝:模板解析错误: '旋转器'不是一个已知元素:

  1. 如果' spinner'是一个Angular组件,然后验证它是否是该模块的一部分。

  2. 如果' spinner'是一个Web组件,然后添加" CUSTOM_ELEMENTS_SCHEMA"到了' @ NgModule.schemas'此组件禁止此消息。 (" [ERROR - >]"):PostsMainComponent @ 0:0;区域:;任务:Promise.then;值:错误:模板解析错误:(...)错误:模板解析错误: '旋转器'不是一个已知元素:

  3. _

    app/util/util.module.ts
    ------------------------
    import { NgModule } from '@angular/core'; 
    import { CommonModule } from '@angular/common'; 
    import { SpinnerComponent } from './spinner.component'; 
    import { UnsavedGuard } from './unsaveguard'; 
    
    @NgModule({ 
        imports:     [ CommonModule ], 
        declarations:[ SpinnerComponent ], 
        exports:     [ SpinnerComponent ], // already defined exports. 
        providers:   [ UnsavedGuard ]
    }) 
    export class UtilModule { 
    } 
    

2 个答案:

答案 0 :(得分:1)

您需要导入utils模块中的app模块,如果不是post模块,则将其添加到imports部分下。

答案 1 :(得分:1)

您无法在两个模块中声明组件,而是需要在posts模块中导入utils模块。

@NgModule({ 
    imports:     [ UtilModule ] // ... and the rest
}) 
export class PostsModule { 
}