【发布时间】:2019-07-29 18:40:55
【问题描述】:
我试图在打开材质对话框面板时传递一些数据。下面的例子是我从here学到的
与 Dialog 组件共享数据。
如果您想与对话框共享数据,可以使用数据选项将信息传递给对话框组件。
let dialogRef = dialog.open(YourDialog, {
data: { name: 'austin' },
});
要访问对话框组件中的数据,您必须使用 MAT_DIALOG_DATA 注入令牌:
import {Component, Inject} from '@angular/core';
import {MAT_DIALOG_DATA} from '@angular/material';
@Component({
selector: 'your-dialog',
template: 'passed in {{ data.name }}',
})
export class YourDialog {
data: any[] = []; // existing code, conflict
constructor(@Inject(MAT_DIALOG_DATA) public data: any) { }
}
现在问题出在对话框组件中,已经定义并使用了一个变量data。并且变量名称data 作为配置传递到对话框中是由 Angular Material Dialog 决定的。所以会导致命名冲突。我可以将现有的 data 变量更改为其他变量,以让位于 Angular 注入的 data,但是有没有办法将注入的 data 更改为其他变量?谢谢。
【问题讨论】: