Typescript 为什么我的模板在angular2组件中不起作用?

Typescript 为什么我的模板在angular2组件中不起作用?,typescript,angular,Typescript,Angular,我有两个组件 首先 从'angular2/angular2'导入{Component}; 从“/Navbar”导入{Navbar}; @组成部分({ 选择器:“应用程序” 模板:` ` }) 导出类App{} 第二 import {Component} from 'angular2/angular2'; @Component({ selector: 'navbar', template:`<p>Navbar</p>` }) export class

我有两个组件

首先

从'angular2/angular2'导入{Component};
从“/Navbar”导入{Navbar};
@组成部分({
选择器:“应用程序”
模板:`
`
})
导出类App{}
第二

import {Component} from 'angular2/angular2';
@Component({
    selector: 'navbar',
    template:`<p>Navbar</p>`
 })
 export class Navbar {}
从'angular2/angular2'导入{Component};
@组成部分({
选择器:“导航栏”,
模板:`Navbar

` }) 导出类Navbar{}
但在根目录(应用程序)组件中不显示导航栏。我错过了什么


您需要将
导航栏
添加到
指令
属性中:

@Component({
  selector: 'app'
  template: `<div class="col-md-12">
    <navbar></navbar>
    </div>`,
  directives: [ Navbar ]
})
@组件({
选择器:“应用程序”
模板:`
`,
指令:[导航栏]
})

使用
Angular 2
,您现在必须提供要在
组件中访问的所有组件的名称。请在此处阅读更多关于它们的信息:

对于您的问题,正如@Thierry所建议的:

@Component({
  selector: 'app'
  template: `<div class="col-md-12">
    <navbar></navbar>
    </div>`,
  directives: [ navbar ]
})
@组件({
选择器:“应用程序”
模板:`
`,
指令:[导航栏]
})

这取决于使用了
角度2
的哪个释放周期。在
Angular2 RC6
中,对
指令
内部
@组件
装饰器的支持已被删除<代码>指令和管道必须在
@NgModule
中定义。在这种情况下,它应该在
app.module.ts
中定义

app.module.ts

// imports...
@NgModule({
   declarations: [
   AppComponent,
   NavbarComponent
],
...
... 
})
export class AppModule {}
// imports...
@NgModule({
   declarations: [
   AppComponent,
   NavbarComponent
],
...
... 
})
export class AppModule {}