指令/范围继承

时间:2015-10-15 13:03:23

标签: javascript angularjs angular

也许这是一个两个问题。我知道你必须明确声明要在Angular 2的Component中使用的指令。这会传播给子组件的组件,如果没有,是否可以使用?其次,在Component上声明的变量是否传播给子节点,还是必须将它们显式传递给Component?

1 个答案:

答案 0 :(得分:2)

从beta.14开始,您必须明确列出@Component&#39; directives数组中所有已使用的指令。对于问题的第二部分,在组件上声明的变量(例如:this.name)不会传播到子组件。要实现这一点,您必须使用<child [item]="parentItem"></child>之类的属性在组件模板中显式传递它们,子组件必须包含@Input item属性。

修改: 要在评论中加入澄清......可以在全局注册指令,但只能在bootstrap函数中注册。在父级上声明的指令将 NOT 由子组件继承。

bootstrap(App, [
    PLATFORM_DIRECTIVES,
    provide(PLATFORM_DIRECTIVES, {useValue: [SomeDirective, SomeComponent], multi:true})
]);