正确类型进口零部件不共享接口实现
问题描述:
试图避免对阵列多次打出来:正确类型进口零部件不共享接口实现
import { ComponentA } from './components/A.component';
import { ComponentB } from './components/B.component';
const COMPONENTS: any[] = [
ComponentA,
ComponentB
];
@NgModule({
declarations: COMPONENTS,
exports: COMPONENTS
})
export class ExampleModule {
}
什么是合适的类型const COMPONENTS: any[]
? any[]
的作品,但我们试图避免使用any
和object[]
似乎工作,但它感觉应该有更具体的东西,我的搜索技能是让我失望。
答
我不认为这有什么更具体的。由于组件本质上可以是一个空类,因此它们没有真正的接口(管道&指令相同)。
如果你看的角度源代码,你可以看到NgModule接口声明和出口定义为具有类型Array<Type<any>|any[]>;
https://github.com/angular/angular/blob/4.4.6/packages/core/src/metadata/ng_module.ts#L115
顺便说一句,我宁愿不使用标记如果可能的话。 – lukiffer