Angular 带功能模块和角6的角材料
每当我想使用功能模块时,我都会遇到使用Angular 6的Angular材质的问题。 以下是我的项目结构:Angular 带功能模块和角6的角材料,angular,angular-material,Angular,Angular Material,每当我想使用功能模块时,我都会遇到使用Angular 6的Angular材质的问题。 以下是我的项目结构: app/ |- app.component.ts |- app.component.html |- app.module.ts |- app-routing.module.ts |- homepage/ |- homepage.module.ts |- homepage-routing.module.ts |- pages/ |- homepage.component.
app/
|- app.component.ts
|- app.component.html
|- app.module.ts
|- app-routing.module.ts
|- homepage/
|- homepage.module.ts
|- homepage-routing.module.ts
|- pages/
|- homepage.component.html
|- homepage.component.ts
|- homepage.component.css
|- inbox/
|- inbox.module.ts
|- inbox-routing.module.ts
|- pages/
|- inbox.component.html
|- inbox.component.ts
|- inbox.component.css
收件箱和主页都是延迟加载的。
我试图在homepage.component.html
和inbox.component.html
(我想使用MatButtonModule)中使用棱角材质,但没有成功,官方文档对我没有帮助
以下是我尝试过的:
- 如果我尝试将MatButtonModule导入到
和homepage.module.ts
,应用程序将因此错误而崩溃inbox.module.ts
Uncaught(承诺中):TypeError:无法读取未定义的属性“call”
- 如果我尝试只将MatButtonModule导入到一个模块中,它将仅适用于绑定到此模块的组件
- 如果我试图将MatButtonModule直接导入到
中,它根本不会工作app.module.ts
因此,我的问题是,如何将角材质与功能模块一起使用,最佳做法是什么?您可以创建一个
Material.module.ts
共享模块,用于导出所有角材质模块。然后在两个模块中导入材质模块。该模块可以看起来像
从'@angular/core'导入{NgModule};
从“@angular/material”导入{MatButtonModule};
@NGD模块({
进口:[],
导出:[MatButtonModule]
})
导出类MaterialModule{}
我建议您制作另一个模块,将其命名为MaterialModule,并将其放在应用程序的根目录中,然后导出您希望在应用程序中使用的所有材料模块,即MatButtonModule,如下所示
import { NgModule } from '@angular/core';
import { MatButtonModule } from '@angular/material';
@NgModule({
imports: [],
exports: [
MatButtonModule,
],
declarations: []
})
export class MaterialModule { }
然后将材料模块导入两个模块(inbox.module.ts和homepage.module.ts)
如果此解决方案不起作用,请将Your'r代码添加到中,以便我可以准确检查Your'r代码的问题所在
好运导出:[MatButtonModule]就足够了,无需导入MatButtonModule副本。还包含不必要的导入。不必要的代码已删除,且不重复。这是您完成的您的answare。嗨,我知道现在已经晚了,但是,在每个功能模块上加载MaterialModule(性能方面)可以吗?如果在每个模块中导入MaterialModule,应用程序不会每次加载它,它只加载一次并多次使用它。