我正在搞Angular2,我希望能夠根據引導綁定將一個組件注入另一個組件。Angular2將組件注入其他組件
class HelloComponent {
name: string;
}
@Component({
selector: 'hello'
}
@View({
template: `<h3>Hello {{ name }}</h3>`
})
class HelloBobComponent extends HelloComponent {
constructor() {
this.name = 'Bob';
}
}
@Component({
selector: 'app'
}
@View({
directives: [HelloComponent]
template: `<h1>Welcome to my Angular2 app</h1>
<hello></hello>`
}
class AppComponent {
}
bootstrap(AppComponent, [
bind(HelloComponent).toClass(HelloBobComponent)
]);
在這裏,我使用HelloComponent作爲令牌,我想Angular2的注入器來解析HelloBobComponent。我這樣做是爲了根據當前的應用程序配置,我可以交換組件。上面的例子顯然不起作用。這可能使用框架裝飾器之一嗎?我還沒有找到答案,但通過博客或來源挖掘。
編輯:爲了澄清,我如何獲得視圖裝飾器的指令屬性,將HelloComponent作爲di令牌而不是類型。
看看這個[answer](https://gitter.im/angular/angular?at=55fabc7f6f976dff036eeb79)你的問題,有人在聊天室裏問。從那裏閱讀@ pkozlowski的回答。 –
謝謝你指點我這個方向。我修好了,發現我可以使用指令在組件中顯式綁定:[bind(HelloComponent).toClass(HelloBobComponent)]。但是,這並不能幫助我,因爲我想從根注入器解析所以我不必擔心在各個組件中配置綁定。 –