参见英文答案 >
Working example of Angular 2.0 Material MdDialog with Angular 2.0 1个
我正在实现material2的对话框组件并面临这个问题:
我正在实现material2的对话框组件并面临这个问题:
我想为所有确认类型的消息创建一个通用对话框,开发人员可以根据业务需求将文本输入到对话框中.但根据docs,没有这样的规定.我们是否有相同的解决方法,或者我应该将其作为github上的功能请求发布?
export class ConfirmationDialogComponent implements OnInit { @input() confirmationText: string; @input() confirmationTitle: string; @input() confirmationActions: [string,string][] = []; constructor(public dialogRef: mddialogRef<ConfirmationDialogComponent>) { } ngOnInit() { } }
这样打电话:
let dialogRef = this.dialog.open(ConfirmationDialogComponent);
解决方法
open会给你组件实例,意味着你可以像这样注入你想要的东西:
openDialog() { let dialogRef = this.dialog.open(DialogoverviewExampleDialog); let instance = dialogRef.componentInstance; instance.text = "This text can be used inside DialogoverviewExampleDialog template "; console.log('dialogRef',dialogRef); }
然后显然在DialogoverviewExampleDialog模板中你可以做到:
this is the text {{text }}
我通常会做什么,我会创建一个我的Component理解的配置对象,然后在打开模态时我会传递它:
private config = { title :"Hello there ",text :"What else ? " }; openDialog() { let dialogRef = this.dialog.open(DialogoverviewExampleDialog); let instance = dialogRef.componentInstance; instance.config = this.config; console.log('dialogRef',dialogRef); }
然后在模态组件内:
<div class="my-modal"> <h1>{{config.title}}</h1> <p>{{config.text}}</p> </div>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。