组件不呈现Angular 2 Typescript

时间:2016-02-22 19:32:10

标签: typescript angular

我正在尝试学习Angular 2,经过大量错误消息后我终于得到了路线工作,我可以显示我想要的组件。现在我想显示我的主页组件,我希望这个组件中有一个导航栏组件。

Home.ts:

import {Component, View} from 'angular2/core';
import {Navbar} from './navbar/navbar'

@Component({
  selector: 'home'
})

@View({
  templateUrl: '/app/home/home.html'
})

export class Home {

    constructor:(public navbar: Navbar) {
    }

}

home.html的:

<p>NICE!</p>
<navbar></navbar>

navbar.ts:

import {Component, View} from 'angular2/core';

@Component({
  selector: 'navbar'
})

@View({
  template: `
  <ul>
    <li>This is the navbar</li>
  </ul>
  `
})

export class Navbar{
}

主页正在显示,但是当我检查时,标签只会保留<navbar></navbar>。我做错了什么?

1 个答案:

答案 0 :(得分:11)

如果你想要navbar组件,你需要将它添加到父组件的directives属性中,而不是它的构造函数中,如下所示:

@Component({
  selector: 'home',
  templateUrl: '/app/home/home.html',
  directives: [ Navbar ]
})
export class Home {
  constructor() {

  }
}