【问题标题】:Mat Dialog doesn't open as a pop up垫子对话框不作为弹出窗口打开
【发布时间】:2021-08-27 04:53:31
【问题描述】:

我正在尝试使用 Mat-Dialog 打开一个弹出窗口,但它出现在页面的左侧。

我已经按照材料官网https://material.angular.io/components/dialog/overview的步骤操作了

TS

import { MatDialog } from '@angular/material/dialog';
import { DialogComponent } from '../shared/dialog/dialog.component';

@Component({
  selector: 'header',
  templateUrl: './header.component.html',
  styleUrls: ['./header.component.css']
})
export class HeaderComponent {
  constructor(public dialog: MatDialog) {}

  signin(): void {
    this.dialog.open(DialogComponent);
  }
}

对话 TS

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

@Component({
  selector: 'app-dialog',
  templateUrl: './dialog.component.html',
  styleUrls: ['./dialog.component.css']
})
export class DialogComponent implements OnInit {
  constructor(public dialogRef: MatDialogRef<DialogComponent>) {}

  ngOnInit(): void {
    console.log('dialog');
  }
}

AppModule

import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { AppRoutingModule } from './app-routing.module';
import { AppComponent } from './app.component';
import { HeaderComponent } from './header/header.component';
import { FooterComponent } from './footer/footer.component';
import { BodyComponent } from './body/body.component';
import { DialogComponent } from './shared/dialog/dialog.component';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { MatDialogModule } from '@angular/material/dialog';
import { MAT_DIALOG_DEFAULT_OPTIONS } from '@angular/material/dialog';

@NgModule({
  declarations: [
    AppComponent,
    HeaderComponent,
    FooterComponent,
    BodyComponent,
    DialogComponent
  ],
  exports: [MatDialogModule],
  imports: [BrowserModule, AppRoutingModule, BrowserAnimationsModule],
  entryComponents: [DialogComponent],
  providers: [
    { provide: MAT_DIALOG_DEFAULT_OPTIONS, useValue: { hasBackdrop: true } }
  ],
  bootstrap: [AppComponent]
})
export class AppModule {}

有什么我做错了吗?

【问题讨论】:

  • 您能否将dialog.component.html 附加到问题中?或者您可以在StackBlitz 中创建一个最小的、可重现的示例。
  • 请附上更多代码,最好创建一个 stackblitz 示例。

标签: angular typescript angular-material material-dialog


【解决方案1】:

在您的AppModule 中,为什么要尝试导出MatDialogModule?将MatDialogModule 包含在您的imports 中并尝试。

【讨论】:

  • 嘿,我都试过了。在这两种情况下都不起作用。
猜你喜欢
  • 2021-10-17
  • 1970-01-01
  • 1970-01-01
  • 2012-01-04
  • 1970-01-01
  • 2011-07-08
  • 1970-01-01
  • 1970-01-01
  • 2011-12-25
相关资源
最近更新 更多