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 {}