gpt4 book ai didi

angular - 没有 MatDialogRef 的提供者

转载 作者:太空狗 更新时间:2023-10-29 16:56:58 25 4
gpt4 key购买 nike

我使用的是 Material 2 版本 2.0.0-beta.12。我需要调整 Material 模态的位置。我按照这个答案来做到这一点。 https://stackoverflow.com/a/44238699/8253445由于 MdDialog 现在不可用,我使用了 {MatDialog, MatDialogRef, MAT_DIALOG_DATA}

constructor(public dialog: MatDialog,public dialModRef:MatDialogRef<any>) {}

当我将 MatDialogRef 添加到我的构造函数时,它给出了错误:

No provider for MatDialogRef

对话框概览示例.ts

import {Component, Inject} from '@angular/core';
import {MatDialog, MatDialogRef, MAT_DIALOG_DATA} from
'@angular/material';

@Component({
selector: 'dialog-overview-example',
templateUrl: 'dialog-overview-example.html'
})
export class DialogOverviewExample {

animal: string;
name: string;

constructor(public dialog: MatDialog,public
dialModRef:MatDialogRef<any>) {}

openDialog(): void {
let dialogRef = this.dialog.open(DialogOverviewExampleDialog, {
width: '500px',
data: { name: this.name, animal: this.animal }
});

dialogRef.afterClosed().subscribe(result => {
console.log('The dialog was closed');
this.animal = result;
});
}
}

@Component({
selector: 'dialog-overview-example-dialog',
templateUrl: 'dialog-overview-example-dialog.html',
})
export class DialogOverviewExampleDialog {

constructor(
public dialogRef: MatDialogRef<DialogOverviewExampleDialog>,
@Inject(MAT_DIALOG_DATA) public data: any) { }

onNoClick(): void {
this.dialogRef.close();
}
}

应用程序模块.ts

entryComponents: [DialogOverviewExample,DialogOverviewExampleDialog]

dialog-overview-example-dialog.html

<h1 md-dialog-title>Hi {{data.name}}</h1>
<div md-dialog-content>
<p>What's your favorite animal?</p>
<md-form-field>
<input mdInput tabindex="1" [(ngModel)]="data.animal">
</md-form-field>
</div>
<div md-dialog-actions>
<button md-button tabindex="2">Ok</button>
<button md-button (click)="onNoClick()" tabindex="-1">No Thanks</button>
</div>

最佳答案

你会得到准确的结果

No provider for MatDialogRef

如果您在 dialog-overview-example.html 中包含对话框的组件 html 选择器,则会出错喜欢<dialog-overview-example-dialog></dialog-overview-example-dialog>

没有必要,不要在任何地方包含对话框组件的 html 选择器。

关于angular - 没有 MatDialogRef 的提供者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46686310/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com