这个新的@NgModule 废话让我很难过。之前,我可以通过元对象的属性明确地指定 a@Component
的指令依赖关系。所以:directives: []
@Component
@Component({ /* ... */ })
export class Cmp1 {}
@Component({ /* ... */ })
export class Cmp2 {}
@Component({
/* ... */
directives: [Cmp1]
})
export class Cmp3 {}
@Component({
/* ... */
directives: [Cmp2, Cmp3]
})
export class Cmp4 {}
现在,在“方便”的幌子下,看来我现在必须声明一个@NgModule,将所有这四个组件放在一个数组中,如下所示:
@NgModule({
declarations: [Cmp1, Cmp2, Cmp3, Cmp4],
exports: [Cmp4],
imports: [Cmp1, Cmp2, Cmp3, Cmp4]
})
export class YetAnotherWrapperClass {}
这不会掩盖我的组件的真正依赖关系图吗?如果我这样做,我怎么知道它实际上是依赖于 Cmp1 的 Cmp3?哦,当然,我可以在这里和那里省略一些导入语句,但似乎代价是失去每个组件的显式依赖关系。
我通读了迁移指南和角度模块指南,但我觉得我从根本上不同意@NgModule 的设计决定。我错过了什么吗?