【发布时间】:2016-05-03 08:19:13
【问题描述】:
我正在使用 Angular2 和 TypeScript 创建 Web 应用程序。当我创建一些 CustomElements(它的意思是组件和指令,验证器)时,我发现我为每个组件编写了 directives: [...] 代码,以便像下面的代码一样导入 CustomElements。
// my_comopnent_1.comopnent.ts
@Component({
selector: 'my-component-1',
directives: [
ROUTER_DIRECTIVES,
MyDirective1,
MyDirective2,
MyValidator1,
MyValidator2,
...
],
})
// my_comopnent_2.comopnent.ts
@Component({
selector: 'my-component-2',
directives: [
ROUTER_DIRECTIVES,
MyDirective1,
MyDirective2,
MyValidator1,
MyValidator2,
...
],
})
// my_comopnent_3.comopnent.ts
@Component({
selector: 'my-component-3',
directives: [
ROUTER_DIRECTIVES,
MyDirective1,
MyDirective2,
MyValidator1,
MyValidator2,
...
],
})
是否存在无需重复写入directives: [...] 即可导入一些CustomComopnents 的方式,例如事件冒泡或原型链?
我的理想是,当我将代码编写到父组件时,它的子组件包括父组件导入的自定义元素。
// parent.component.ts
@Component({
selector: 'parent',
directives: [MyDirective1, ...],
})
// child.component.ts
@Component({
selector: 'child',
template: `
// It's possible to use MyDirective because of importing by ParentComponent.
<div my-directive></div>
`,
})
【问题讨论】:
标签: typescript angular