首页 文章

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

提问于
浏览
1

在app下创建了2个模块 .

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

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

Getting below error.

未处理的Promise拒绝:模板解析错误:'spinner'不是已知元素:

  • 如果'spinner'是Angular组件,则验证它是否是此模块的一部分 .

  • 如果'spinner'是Web组件,则将“CUSTOM_ELEMENTS_SCHEMA”添加到此组件的'@ NgModule.schemas'以禁止显示此消息 . (“[ERROR - >]”):PostsMainComponent @ 0:0;区域:;任务:Promise.then;值:错误:模板解析错误:(...)错误:模板解析错误:'spinner'不是已知元素:

_

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 回答

  • 1

    您需要在 app 模块中导入 utils 模块(如果不是 post 模块),然后在 imports 部分下添加它 .

  • 1

    您不能在两个模块中声明组件,而是需要在posts模块中导入utils模块 .

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

相关问题