【问题标题】:AngularJS 2 - how to include component defined in one module into another moduleAngularJS 2 - 如何将一个模块中定义的组件包含到另一个模块中
【发布时间】:2017-05-14 08:14:14
【问题描述】:

已经在app下创建了2个模块。

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

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

出现以下错误。

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

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

  2. 如果“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 { 
} 

【问题讨论】:

  • 您解决了这个问题吗?

标签: angular


【解决方案1】:

您不能在两个模块中声明组件,而是需要在您的帖子模块中导入您的 utils 模块。

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-12-29
      • 2020-04-17
      • 1970-01-01
      • 2014-07-12
      • 1970-01-01
      • 2014-12-01
      • 2019-10-28
      • 1970-01-01
      相关资源
      最近更新 更多