Angular 4 Material - mat-button 样式未应用于 mat-dialog 组件

新手上路,请多包涵

我想创建一个 mat-dialog 具有默认样式 mat-button 用于关闭对话框。一切正常,除了按钮缺少 Angular Material 应用的 Material Design 风格。

我如何获得显示的样式? AFAIK 我已经根据需要导入了所有模块,并 正确设置了 Angular Material 的每个部分,包括 themes

my-dialog.component.ts :

 import { Component, OnInit } from '@angular/core';

@Component({
  selector: 'app-my-dialog',
  templateUrl: './my-dialog.component.html',
  styleUrls: ['./my-dialog.component.css']
})
export class MyDialogComponent implements OnInit {

  constructor() { }

  ngOnInit() {
  }

}

my-dialog.component.html

 <h1 mat-dialog-title>Lorem Ipsum</h1>
<div mat-dialog-content>
  ...
</div>
<button mat-button mat-dialog-close>Close</button>

app.module.ts

 import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';

import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { MatCardModule, MatDialogModule, MatButtonModule } from '@angular/material'

import { AppComponent } from './app.component';
import { MyDialogComponent } from './my-dialog/my-dialog.component';

@NgModule({
  declarations: [
    AppComponent,
    MyDialogComponent
  ],
  imports: [
    BrowserModule,
    BrowserAnimationsModule,
    MatCardModule,
    MatDialogModule
  ],
  providers: [],
  bootstrap: [AppComponent],
  entryComponents: [
    MyDialogComponent
  ]
})
export class AppModule { }

原文由 GreatHam 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 375
2 个回答

新导入的模块需要添加到 imports

 import { MatButtonModule } from '@angular/material/button'

@NgModule{
  ...
  imports: [
    BrowserModule,
    BrowserAnimationsModule,
    MatCardModule,
    MatDialogModule,
    MatButtonModule
  ],
  ...
})

原文由 GreatHam 发布,翻译遵循 CC BY-SA 4.0 许可协议

值得注意的是,新的 Angular 9 构建系统要求您停止“ng serve”脚本并在添加材料模块后再次运行它

原文由 Yonatan Naor 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题