正如许多其他教程中所建议的那样,我决定从特定的角度材料模块中整理我的app.module,并创建了一个名为“材料模块”的独立模块 - 然后我将这个模块直接导入到app.module的imports数组中。
现在,如果我在app.component.html中有一个素材按钮,那么一切都很好并且应用了主题。
但是,我有一个Auth模块正在显示,并且任何角度主题都没有在该模块中应用,它们都是基本的html元素。
我确定我遗漏了一些关于模块应该如何工作的非常明显的东西但是在阅读了很多帖子和一些论坛后通过谷歌搜索+文档,我无法弄清楚我是什么失踪。
这里的问题不是主题,而是AuthModule
不知道如何解决材料成分。
在Angular中,模块充当编译上下文,如果不将MaterialModule
导入AuthModule
,则材质组件在上下文之外,而角度对它们一无所知。
将MaterialModule
导入AuthModule
将解决此问题,例如:
material.module.ts:
@NgModule({
imports: [MatButtonModule, MatListModule],
exports: [MatButtonModule, MatListModule],
})
export class MaterialModule {}
auth.module.ts
@NgModule({
imports: [CommonModule, MaterialModule],
providers: ...,
})
export class MaterialModule {}
注意
MaterialModule
出口MatButtonModule
AuthModule
导入MaterialModule
因此,AuthModule可以访问MatButtonModule
中定义的组件有关这方面的更多信息,请参阅angular docs https://angular.io/guide/sharing-ngmodules
"styles": [
{
"input": "node_modules/@angular/material/prebuilt-themes/indigo-pink.css"
},
ng add @angular/material