我正在尝试在 Angular 4 中使用 MdDialog。
对话框html:
<div style="width: 100%">
<h2>Dialog</h2>
<button md-raised-button (click)="dialogRef.close()">Close dialog</button>
</div>
对话框组件:
import { Component, OnInit } from '@angular/core';
import { MdDialogRef } from "@angular/material";
@Component({
selector: 'your-dialog-selector',
templateUrl: './dialog.component.html'
})
export class DialogComponent {
constructor(public dialogRef: MdDialogRef<any>) {
}
}
调用html:
<md-icon class="demo-dialog-open-button" (click)="open()">
view_list
</md-icon>
调用组件函数:
open() {
this.dialogRef = this.dialog.open(DialogComponent);
this.dialogRef.afterClosed().subscribe(result => {
this.dialogRef = null;
});
}
app.material.module:
import { NgModule } from '@angular/core';
import {
MdToolbarModule,
MdIconModule,
MdMenuModule,
MdButtonModule,
MdSelectModule,
MdSnackBarModule,
MdSnackBar,
MdInputModule,
MdTooltipModule,
MdCardModule,
MdDialogModule
} from '@angular/material';
@NgModule({
imports: [
MdToolbarModule,
MdButtonModule,
MdIconModule,
MdMenuModule,
MdSelectModule,
MdSnackBarModule,
MdInputModule,
MdTooltipModule,
MdCardModule,
MdDialogModule
],
exports: [
MdToolbarModule,
MdButtonModule,
MdIconModule,
MdMenuModule,
MdSelectModule,
MdSnackBarModule,
MdInputModule,
MdTooltipModule,
MdCardModule,
MdDialogModule
],
providers: [
MdSnackBar
]
})
export class AppMaterialModule {}
我遇到的问题是,对话框在屏幕左侧打开为一个垂直的空白白框。检查元素显示了这一点:
<md-dialog-container class="mat-dialog-container ng-tns-c7-4 ng-trigger ng-trigger-slideDialog" role="dialog" style="transform: none; opacity: 1;"><!--bindings={
"ng-reflect-portal": ""
}--></md-dialog-container>
为什么它不显示我的对话框 html 的内容?