djv*_*jvs 8 javascript angularjs angular
也许这是一个两个问题.我知道你必须明确地声明要在Angular 2的Component中使用的指令.这会传播给子组件的组件,如果没有,它可以被传递给它吗?其次,在Component上声明的变量传播给子节点,还是必须将它们显式传递给Component?
从 beta.14 开始,您必须在@Component的directives数组中显式列出所有使用的指令。对于问题的第二部分,在组件上声明的变量(例如:)this.name不会传播到子组件。为了实现这一点,您必须使用诸如<child [item]="parentItem"></child>子组件必须包含@Input item属性之类的属性在组件模板中显式传递它们。
编辑:要合并评论中的澄清...可以全局注册指令,但只能在bootstrap函数中注册。在父组件上声明的指令不会被子组件继承。
bootstrap(App, [
    PLATFORM_DIRECTIVES,
    provide(PLATFORM_DIRECTIVES, {useValue: [SomeDirective, SomeComponent], multi:true})
]);