我想在所有其他模块(路由的子模块)上使用UI-FRAMEWORK。
我正在使用最新版本的角和材料(7.2 )。https://material.angular.io/
我创建了一个角度模块,该模块导入所有角材料UI模块。在app.module.ts
中导入。它可以正常工作,直到我加载另一个模块来更改路线。- 我知道为什么。因为每个模块都是一个单独的范围。但是应该可以在全球导入一个模块,每个组件都可以访问UI(HTML)。
我想在app.module.ts
中的所有垫子(已经完成)中的所有垫子。当前,我必须再次将材料模块导入到每个模块组件(页)。我确定/希望这是可能的。因为UI应全球访问整个页面。
我认为这是不可能的。模块的全部要点是封装其内容,仅通过出口来揭示特定内容。另一方面,如果您想使用另一个模块导出的东西,则必须导入它。没有"全局导入"
这不是角模块的工作方式。
注意:此方法不起作用,如果找到某些解决方案
,将更新答案但是有一个解决方法,创建了自己的装饰器来包装NgModule
装饰器,并在声明其他模块时使用它。
这是一个示例:
function CustomeNgModule(options: NgModule){
options.imports = options.imports || [];
options.imports.push(SharedModule);
return NgModule(options);
}
并将其用作,
@CustomeNgModule({/*options*/})
export class AbcModule {
}
我尚未测试我的代码,但应该可以使用,如果没有测试。
以防万一需要有关装饰的更多信息https://www.typescriptlang.org/docs/handbook/decorators.html