如何在Angular2中声明嵌套组件

时间:2016-09-18 15:16:30

标签: angular components

Angular2 tutorial中,通过将详细信息添加到@NgModule来引入详细信息组件。

相反,我想通过外部组件(AppComponent)以某种方式导入它来添加它,以便只有外部组件引用内部组件。

我无法弄清楚该怎么做。旧示例引用directives属性,但directives类型中不再存在ComponentMetadtaType。所以这不起作用

import { HeroDetailComponent } from './hero-detail.component';

@Component({
    selector: 'my-app',
    [..]
    directives: [HeroDetailComponent]
})

2 个答案:

答案 0 :(得分:4)

您必须向模块的declarations: []添加指令和组件 如果您只希望一个组件能够使用组件,请创建一个仅包含这两个组件的模块。

@NgModule({
  imports: [BrowserModule],
  declarations: [AppComponent, FooComponent, BarDirective],
  ...
})

答案 1 :(得分:0)

您应声明 声明元数据,如下所示,

import { HeroDetailComponent } from './hero-detail.component';
@NgModule({
  imports:      [ BrowserModule ],
  declarations: [ AppComponent,HeroDetailComponent],   //<----here
  providers:    [],
  bootstrap:    [ AppComponent ]
})