刚刚开始构建 Angular 应用程序。我正在编写一个小型图书库存应用程序。我遇到了来自 Material 模块 的 Dialog 组件 的问题。我访问了 Angular Material 网站来检查我的实现,但仍然无法让它按预期运行。我在 snackbar 组件 上遇到了类似的问题。想知道以前是否有人遇到过这个问题。谢谢你的帮助!
app.Module.ts
import {MatDialogModule } from '@angular/material/dialog';
imports:[MatDialogModule]
collection.component.ts
import {MatDialogModule, MatDialogRef } from '@angular/material/dialog';
bookDetailDialogRef: MatDialogRef<BookDetailComponent>;
constructor(private dataService: DataService, private snackBar: MatSnackBarModule,
private _dialog: MatDialogModule, private _router: Router){}
openDialog(bookId: number): void{
let config = {with: '650px', height: '400px', position: {top: '50px'}};
let dialogRef = this._dialog.open(this.bookDetailDialogRef, config);
dialogRef.componentInstance.bookId = bookId;
dialogRef.afterClosed().subscribe(res => {this.getBooks();});
}
collection.component.html
<button mat-button (click)="openDialog(book.id)"><i class="material-icons">
pageview</i> Dialog</button>
最佳答案
_dialog 的类型是 MatDialog
而不是 MatDialogModule 并将 MatSnackBarModule 更改为 MatSnackBar
。在您的构造函数中将其更改为,
constructor(private dataService: DataService, private snackBar: MatSnackBarModule,
private _dialog: MatDialog, private _router: Router){}
关于javascript - 'open' 类型不存在属性 'MatDialogModule',我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47973343/