正如许多其他教程中所建议的那样,我决定将我的app.module从特定的有角度的材质模块中整理出来,并创建了一个单独的模块,称为“ material module”-然后我将该模块直接导入到app.module的导入数组。
现在,如果我在app.component.html中有一个材质按钮,那么一切都很好,并且应用了主题。
但是,我有一个通过来显示的Auth模块,并且该模块中没有应用任何角度主题,它们都是基本的html元素。
我确定我确实缺少一些有关模块应该如何以角度工作的明显信息,但是在通过Google搜索和文档阅读了很多线程以及一些论坛之后,我不知道这是什么我不见了。
答案 0 :(得分:1)
这里的问题不是主题,而是AuthModule
不知道如何解决实质性问题。
在Angular中,模块充当编译上下文,如果您不将MaterialModule
导入到AuthModule
中,则材料组件不在上下文中,而angular对它们一无所知。>
将您的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文档 https://angular.io/guide/sharing-ngmodules
答案 1 :(得分:-2)
您可以在angular.json文件中检查以下行:
"styles": [
{
"input": "node_modules/@angular/material/prebuilt-themes/indigo-pink.css"
},
您可以在项目文件夹中执行,以使用正确的依赖项自动更新Angular项目。
ng add @angular/material