我使用MdDialogModule显示一个带有输入字段的对话框窗口。模态打开良好,我能够在输入字段中输入文本并提交,但单击提交按钮后,我希望输入表单中的数据返回到称为对话框组件的主组件,并关闭对话框。
我的对话框组件代码如下所示
import { Component, OnInit, InjectionToken, Inject } from '@angular/core';
import { MD_DIALOG_DATA, MdDialogRef } from "@angular/material";
@Component({
selector: 'app-add-book',
templateUrl: './add-book.component.html',
styleUrls: ['./add-book.component.css']
})
export class AddBookComponent {
constructor() { }
}
主组件中调用对话框的方法如下所示。现在没有返回任何响应,它返回未定义,因为我还没有弄清楚。
openCreateDialog() {
let dialogRef = this.dialog.open(AddBookComponent)
.afterClosed()
.subscribe(response => {
console.log(response);
});
}
“dialog.open”可用于打开对话框组件。
您可以通过添加第二个参数来指定要发送到对话框组件的数据。这可以包含诸如宽度和高度检查文档之类的信息,以获取更多信息。
要关闭,可以使用ref.close()。
如果您希望从对话框中获得数据,那么您可以使用ref . component instance . updatedselectedarms,这是一个在需要时触发的事件
var ref = this.dialog.open(SelectLoadingArmComponent, {
width: '500px',
data: {
loadingArms: this.loadingArms,
selectedloadingArms: this.selectedloadingArms
}
});
ref.componentInstance.updatedSelectedArms.subscribe(
(data) => {
console.log(data)
ref.close()
}
);
首先感谢Harry的评论。。。
组件ts:
let dialogRef = this.dialog.open(DataListDialogComponent, dialogConfig).afterClosed()
.subscribe(response => {
console.log(response);
});
对话ts:
this.dialogRef.close({data:'data'});
首先,您需要将 MdDialogRef
添加到对话框组件中
export class AddBookComponent {
constructor(private dialogRef: MdDialogRef<AddBookComponent>) { }
}
然后使用< code>dialogRef.close返回数据
save() {
this.dialogRef.close({ data: 'data' });
}
我想在进行某些处理时显示一个进度条覆盖图。我可以计算完成百分比,所以我想使用一个确定的进度条。对于覆盖部分,我想使用一个对话框。基本上,我想做这里要做的事情(Angular 2 Material Progress微调器:显示为叠加),但我不需要微调器。因此,我的组件将如下所示: 模板: 元件: 然后我使用这个组件的代码如下: 我发现了这一点(如何将数据传递到angular material 2的对
问题内容: 我想将一些数据传递给$ mdDialog。实际上,我在一个单独的文件中有两个控制器。这是我的控制器代码 我想tp将profileId传递给profileController并显示配置文件数据。在配置文件控制器中,我以此获取数据 但是这个错误出现在控制台中 这是什么错误以及如何解决? 问题答案: 我添加了配置文件模板,这是由于错误。通过删除它,我的问题解决了。
html SystemJS配置 家庭组件 问-我如何修复这个未知元素的问题?谢了!
> 到目前为止,我使用角2快速入门创建了一个新项目。 我决定开始使用angular 2 cli,并创建了一个新的angular 2 cli项目。 移动了我的所有文件并重新安装了所有软件包。 现在,当我试图在CLI项目中使用角2材料时,我遵循了这里的指南,但这是我得到的: 会出什么问题?
当我在material design上用autocomplete实现时,我有一个关于angular 2的错误,我不知道为什么,因为这是我第一次用后端ASP.NET核心实现它。我尝试安装一些ng2库,但根本不起作用。下面是我的代码: 错误如下:
我想在使用angle-cli的Angular 2应用程序中使用bootstrap材质设计。 引导材料设计(V4)使用SASS。为了使它在Angular 2中工作,我需要使用sass-loader。但是我没有找到任何解决方案来使Angulal-cli使用sass-loader,因为webpack配置不能被覆盖(据我所知)。 在使用Angular cli的Angular2应用程序中,是否有使用