到目前为止,我有一个包含2个模块的应用程序:“共享”和“Web”。
我在网络上的所有组件都运行良好。我刚在共享模块中创建了一个简单的组件,因为我打算在整个应用程序中重复使用它:
import { Component, Input, OnInit } from '@angular/core';
@Component({
selector: 'pb-ds-pluginstable',
templateUrl: './pluginstable.component.html',
styleUrls: ['./pluginstable.component.scss']
})
export class PluginstableComponent implements OnInit {
@Input() name: string;
@Input() version: string;
@Input() link: string;
constructor() {}
ngOnInit() {}
}
将其导入共享模块并导出:
...other imports...
import { PluginstableComponent } from './pluginstable/pluginstable.component';
@NgModule({
imports: [
CommonModule,
RouterModule,
NgbModule
],
declarations: [HeaderComponent, FooterComponent, HeaderShadowDirective, PluginstableComponent],
exports: [HeaderComponent, FooterComponent, HeaderShadowDirective, PluginstableComponent]
})
export class SharedModule { }
但是当我在Web模块的组件模板中使用它时,如下所示:
<pb-ds-pluginstable name="foo" version="2.2.2" link="bar"></pb-ds-pluginstable>
我收到一个无法识别该组件的错误:
core.es5.js:1020 ERROR Error: Uncaught (in promise): Error: Template parse errors:
'pb-ds-pluginstable' is not a known element:
1. If 'pb-ds-pluginstable' is an Angular component, then verify that it is part of this module.
2. If 'pb-ds-pluginstable' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("
</section>
[ERROR ->]<pb-ds-pluginstable name="foo" version="2.2.2" link="bar"></pb-ds-pluginstable>
我在这里缺少什么?
答案 0 :(得分:1)
您还需要在中导入SharedModule
(不是父项,而不是孩子,完全相同的模块)module
,您要在其中使用它{\ n}导出的元素
@NgModule({
imports: [
SharedModule,
...
]
})
export class YourModule { }
答案 1 :(得分:0)
我认为您没有将共享模块导入Web模块。您很可能只将导入添加到应用模块