首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何将angular 8 material对话框中的结果传递给其他组件?

在Angular 8中,可以通过以下步骤将Angular Material对话框中的结果传递给其他组件:

  1. 首先,在需要打开对话框的组件中引入MatDialog和对应的对话框组件。例如,在app.component.ts中引入MatDialogDialogComponent
代码语言:txt
复制
import { Component } from '@angular/core';
import { MatDialog } from '@angular/material/dialog';
import { DialogComponent } from './dialog.component';

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
})
export class AppComponent {
  constructor(public dialog: MatDialog) {}

  openDialog(): void {
    const dialogRef = this.dialog.open(DialogComponent, {
      width: '250px',
      data: { name: 'John', age: 30 } // 传递给对话框的数据
    });

    dialogRef.afterClosed().subscribe(result => {
      console.log('The dialog was closed');
      console.log('Dialog result:', result); // 在对话框关闭后获取结果
    });
  }
}
  1. 创建对话框组件DialogComponent,并在其中引入MAT_DIALOG_DATAMatDialogRef
代码语言:txt
复制
import { Component, Inject } from '@angular/core';
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';

@Component({
  selector: 'app-dialog',
  templateUrl: './dialog.component.html',
  styleUrls: ['./dialog.component.css']
})
export class DialogComponent {
  constructor(
    public dialogRef: MatDialogRef<DialogComponent>,
    @Inject(MAT_DIALOG_DATA) public data: any
  ) {}

  onNoClick(): void {
    this.dialogRef.close();
  }
}
  1. 在对话框组件的模板文件dialog.component.html中,可以通过双向绑定将对话框中的结果传递给其他组件。例如,将对话框中的输入框值传递给父组件:
代码语言:txt
复制
<h1 mat-dialog-title>Dialog</h1>
<div mat-dialog-content>
  <p>Enter a value:</p>
  <mat-form-field>
    <input matInput [(ngModel)]="data.value">
  </mat-form-field>
</div>
<div mat-dialog-actions>
  <button mat-button (click)="onNoClick()">Cancel</button>
  <button mat-button [mat-dialog-close]="data.value" cdkFocusInitial>OK</button>
</div>

在这个例子中,对话框中的输入框值通过[(ngModel)]="data.value"data.value进行双向绑定。当点击对话框中的"OK"按钮时,将data.value作为结果传递给父组件。

这样,当对话框关闭时,父组件中的dialogRef.afterClosed().subscribe方法中的result参数将获取到对话框的结果。你可以在这个回调函数中处理结果,例如更新其他组件的数据或执行其他操作。

推荐的腾讯云相关产品:腾讯云云服务器(CVM)、腾讯云云数据库MySQL(CDB for MySQL)、腾讯云对象存储(COS)。

腾讯云产品介绍链接地址:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Angular 16 正式版发布

现在,可以将以下数据传递给路由组件的输入: 路由 data — resolvers 和 data 属性 Path 参数 Query 参数 以下是如何访问路由 resolver 数据的示例: const...在 Angular v16 中,我们实现了一个跨越框架、Universal、CDK、Material 和 CLI 的新功能,该功能允许你为 Angular 内联的组件的样式指定 nonce 属性。...备受要求的功能 ,允许你对 Angular 模板中的组件使用自闭标签,这是一个小的开发体验改进,可以为你节省一些打字时间。...在过去的几个季度里,我们与谷歌的 Material Design 团队密切合作,为 Angular Material 的 Web 提供了 Material 3 实现。...作为下一步,我们正在努力在今年晚些时候推出一个基于 expressive token-based 的主题化 API,该 API 支持 Angular Material 组件的更高定制。

2.6K10

Angular v16 来了!

现在您可以将以下数据传递给路由组件的输入: 路由数据——解析器和数据属性 路径参数 查询参数 以下是如何从路由解析器访问数据的示例: const routes = [ { path : 'about'...nonce在 Angular v16 中,我们实现了一个跨越框架、Universal、CDK、Material 和 CLI 的新功能,它允许您为 Angular 内联的组件的样式指定一个属性。...在过去的几个季度中,我们与 Google 的 Material Design 团队密切合作,为 Web 和 Angular Material 提供参考 Material 3 实现。...作为下一步,我们正努力在今年晚些时候推出一个基于令牌的富有表现力的主题 API,以实现 Angular 材质组件的更高定制化。 提醒一下,我们将在 v17 中删除遗留的、非基于 MDC 的组件。...这就是为什么我们不断投资以提高Angular CDK 和 Material 组件的可访问性。

2.6K20
  • Angular8稳定版修改概述

    但这是如何工作的? 基本上,Angular将使用polyfill构建其他文件,并且它们将注入nomodule 属性。...正如Igor Minar所解释的那样,Bazel已经在内部使用了很长时间,现在可供所有人使用。您可以参考Bazel文档,并了解如何将其与Angular一起使用。...我认为这是gulp/grunt“旧时代”中的命令。 基本上,构建器只是一个带有一组命令的函数,您可以createBuilder()从@angular-devkit/architect包传递给方法。...Web Worker Angular 8中添加了Web worker支持。现在,您可以添加Web worker并将要在后台运行的耗时进程委派给Web worker。...您可以运行ng update @angular/core以迁移现有代码。 Angular Material Angular Material工程重命名为Angular Components。

    4.5K20

    Angular Material 的设计之美

    我可以说一下自己的感受,Angular Material 的交互更加流畅,细节做的更好。 Angular Material 组件库虽然很优秀,但是却被戴上了只适合做 C 端界面的帽子。...但是在编写 ng-matero 的过程中,随着对 Angular Material 的深入了解,我发现这种说法稍显狭隘甚至产生了一定的误导,所以我希望这篇文章可以让大家对 Angular Material...少即是多 Less is more(少即是多)—— 密斯·凡德罗 我想很多人对 Angular Material 望而却步的原因之一就是它的组件看上去有点少。然而在一般的业务中这些组件已经够用。...除了常用组件之外,Angular Material 还有一个组件开发包 CDK。在设计界有一句名言“少即是多”,苹果的产品就是最好的证明。...$mat-gray: $mat-grey; 灵活的主题定制 Angular Material 的样式几乎全部写在了 mixin 中,定制起来非常容易。

    5K30

    【玩转腾讯云】2021 年最值得推荐的 7 个 Angular 前端组件库 - DevUI

    Material Design for Angular [Material.png] 首先要推荐的,当然是 Angular 官方的 Material 组件库,Material Design 是 Google...其中 Angular 版本的 Material 组件库,现在已经是Angular官方指定的组件库,所以受众特别多,不管是在Github的Star/Fork数,还是在NPM的周下载量都是TOP 1的。...不过 Material Design for Angular 却不是最早的 Angular 组件库,后面我们将要介绍的 PrimeNG 比它更早诞生,但 Material 毫无疑问是最流行和最受欢迎的。...2017年8月,Zorro正式开源并发布第一个版本:0.5.0-rc.0,经过一年的演进,于第二年6月发布1.0版本。...由于 DevCloud 是研发工具类的产品,场景丰富,这使得孵化于其中的 DevUI 形成了自己独特的优势,DevUI 提供了很多其他 UI 组件库没有的特色组件,比如甘特图、象限图,以及新出的分类搜索

    1.8K30

    Angular 6正式版发布,都有哪些新功能

    ng add @angular/material:安装并设置 Angular Material 和主题,注册新的初始组件 到ng generate中。...应用程序中启动 Angular 组件,方法是将它们注册为 Custom Elements,目前已被广泛用于 angular.io 内容管理系统中,它嵌入 HTML,可动态启动系统功能。...Angular Material + CDK 组件 最值得一提的是用于显示分层数据的树形控件,遵循数据表组件的模式,CDK 包含树的核心指令,而 Angular Material 则提供与顶层的 Material...Angular Material 初始组件 一旦运行ng add @angular/material并添加材料到现有的应用程序中,就能够生成 3 个新的初始组件。...更新通常遵循 3 个步骤,请使用新 ng update 工具: 更新 @ angular / cli; 更新你的 Angular 框架包; 更新其他依赖包。

    4.2K20

    Angular 6的新特性介绍

    通过ng add可以更加容易向项目中添加新功能(类似npm install ) Angular Material+CDK组件 angular6最大的补充是用于显示分层数据的新树组件。...遵循数据表组件的模式,CDK包含核心树指令,而Angular Material则提供与顶层的Material Design样式相同的体验 Material 运行命令,添加Material ng add...一旦添加Material之后,你就可以生成三个新的入门组件 Material Sidenav 运行命令: ng generate @angular/material:material-nav --name...这也就意味着你可以从你的应用中移除 polyfill,这样可以减少大约47k的空间 RxJS v6 Angular已经更新使用了RxJS v6。...更新@ angular / cli 更新你的Angular框架包 更新其他依赖项 Ivy Ivy将会是下一代渲染引擎,现在正在开发中。让我们拭目以待吧。 原文链接

    2.3K21

    angular知识点梳理第三篇-组件

    文章目录 前文回顾 组件介绍 什么是组件 创建一个组件 更改默认启动页内容 组件模块介绍 组件的生命周期 组件之间传值 父子之间传值 父组件传值(函数)给子组件 第一步:在parent组件的ts文件中...:在父组件的ts文件中引入viewchild模块 【parent.component.ts】 方案二:通过@Output触发父组件的方法 第一步:在子组件ts文件中引入angular的核心模块中的output...angular生命周期 组件之间传值 组件之间传值就是两个组件之间进行数据的交互,组件之间的关系比较多,比如父子组件之间传值,兄弟组件之间传值,下面我们就不同情况进行一个简单的梳理 父子之间传值 先搞明白什么算是父子组件...关系理清了,下面我们开始演示父子组件之间的传值 当前的结构是app引入了parent、parent引入了children 父组件传值(函数)给子组件 第一步:在parent组件的ts文件中 声明一个变量...整个父组件传递给子组件写法如下: 在父组件的视图层文件中实现this的传递 【parent.component.html】 <!

    2.2K10

    Ng-Matero v15 正式发布

    我已经很久没有写关于 Ng-Matero 的发版文章了。上次介绍发版还是 v10 版本,竟然已经是两年前的事情了。在这两年的开源生涯中,主要精力都在 Material 的扩展组件库上面。...具体效果如下图所示: 在线体验地址 焦点管理属于 a11y 的范畴,使用 Angular Material 可以很轻松的完成 a11y 的需求,同时 Angular CDK 中也有 A11yModule...另外,侧边栏菜单按钮使用语义化标签进行了优化,关于按钮的选择可以参考 Angular Material 在 Button 文档中的说明: Angular Material 使用原生的 ...基于 MDC 的 Angular Material 组件 我觉得 v15 最大的变化不是 Angular,而是 Angular Material。...大部分组件都切换到了 MDC 风格,之前这些组件都是在 material-experimental 这个库中,现在转正了,而之前的组件都加上了 legacy- 前缀。

    5.5K40

    高级 Vue 组件模式 (1)

    写在前头 去年,曾经阅读过一系列关于高级 react 组件模式的文章,今年上半年,又抽空陆陆续续地翻译了一系列关于高级 angular 组件模式的文章,碰巧最近接手了一个公司项目,前端这块的技术栈是 vue...结果似乎没有找到(其实也是有一些的,只不过不是和 react 和 angular 对比来写的),不如就按照 react 和 angular 这两个系列文章的思路,使用 vue 来亲自实现一次吧。...在 Vue 中,我们通过 data 来声明一个 checked 属性,这个属性所控制的状态代表组件本身的开关状态,这个状态会传递给负责渲染开关变换逻辑的 switch 组件中,关于 switch 组件,...通过在 switch 组件注册原生 click 事件,toggle 组件还会触发一个 toggled 事件,在 App 组件中,我们会监听这个事件,并将其回传的值打印到控制台中。...,checked 代表组件内部的开关状态 通过触发 toggle 事件,将 checked 状态的变化传递给父组件

    87210

    Angular 结合 NG-ZORRO 快速开发

    结合 ng-zorro angular 比较流行的 ui 框架有: Angular Material 官方指定 UI 框架 NG-ZORRO,又名 Ant Design of Angular 国内比较流行的...如果你还不了解相关的 angular 主要内容,请先前往文章了解 Angular 开发的内容。...思路: 先添加页面 user 用户的列表页面,使用 ng-zorro 中 table 组件 用户的新增和更改页面可以共用同一个页面,使用 ng-zorro 中 form 组件 页面删除功能直接使用弹窗提示...,使用 ng-zorro 中 modal 组件 对 ng-zorro 组件按需引入 调整路由文件 按照思路,我们得在 ng-zorro 引入: // app.module.ts import { ReactiveFormsModule...提交表单的操作也是按照该标志符进行判断。我们直接对 localStorage 的信息进行变更,以保证同步列表信息。 删除功能 我们引入模态对话框进行询问是否删除。

    1.8K10

    18 个漂亮的 Bootstrap 模板

    要查找最新信息,请点击文章中的链接。 如果你正在阅读本文,则意味着你与时俱进。...在整个开发过程中收集的非常庞大且独特的应用、插件、组件数据库。 市场上功能最强大的模板之一。 ThemeForest 上最受欢迎的模板。 最近更新:大约一周前。...具有材料设计的高级管理模板。 使用的技术是Angular 8、Sass、HTML5、Firebase。 精心设计的时尚元素。 80 多种集成页面和 12 种集成语言。...在纯 JS 和 ReactJS 中可用。 没有 jQuery 依赖性。 两个仪表板:分析和电子商务。 带有商店、愿望清单、结帐的“电子商务”部分。 快速搜索。 数百个页面、组件和卡片。...提供其他页面,例如价格、博客页面、电子商务页面、个人资料等。 易于配置的键盘快捷键。 最近更新:大约 2 个月前。

    16K11

    【前端技术丨主题周】Angular 核心概念与框架演进

    在新的语言标准ES 6 中,提供了import 来导入在其他文件中定义的模块,且用export 将诸如jQuery 或moment 这样的依赖导出到业务代码模块中。 2 ....Angular 全面支持这样的开发方式,在Angular 中组件是“一等公民”。伴随组件而来的是组件树的概念。...服务可以被共享,从而被多个组件复用。在Angular 中,一个服务就是一个简单的类。通常在组件中引用服务来处理数据和实现逻辑。...依赖注入可以帮助应用解耦,一般通过对实现服务的类加上@Injectable 装饰器,同时把它注册到Provider(可以在模块、其他服务、根组件或需要注入服务的上层组件中实施),从而将服务提供给调用者使用...在此之上,还有不少其他的外部工具库,类似于: Angular Material,Google 官方的Material 设计风格的UI 组件库。

    9.1K10

    Angular核心-父子间组件传递数据-重难点

    (达内教育学习笔记)仅供学习交流 Angular核心-父子间组件传递-重难点 Angular核心-父子间组件传递数据-重难点方向一:父=》子传递数据方向二:子=》父父子组件传递数据的简便方法:...Angular核心-父子间组件传递数据-重难点 方向一:父=》子传递数据 方向二:子=》父 父子组件传递数据的简便方法: Vue.js和Angular中的父子间消息传递原理一样,都可以用口诀:“Props...($event)"> //$even是用于接收子组件发射的数据 在ts文件中接收使用子组件传递的数据 doCry(e: any){ console.log...('parent.docry():') console.log(e) this.userName = e } //e就是子组件想传递给父组件的数据 父子组件传递数据的简便方法:...(不带#),第二个参数static指定该组件是否为“静态组件”—不会有时有时无的组件(比如ngIf,ngFor) 注意: 通过“ViewChild”-视图组件方式,父组件可以获得任意子组件中的数据,

    1.2K20

    Angular v18 现已推出!

    angular.json展望未来,无区域为开发人员打开了许多大门:改进微前端的可组合性以及与其他框架的互操作性更快的初始渲染和运行时更小的捆绑包大小和更快的页面加载速度更具可读性的堆栈跟踪调试更简单在组件中使用无区域的最佳方式是使用信号...在处理了开发人员的反馈并完善了我们的 Material 3 组件后,我们很高兴将它们升级为稳定版!...与此同时,我们还用新的 Material 3 主题和文档刷新了 material.angular.io。您可以在我们的指南中找到如何在您的应用程序中使用 Angular Material 3!...作为收敛努力的结果,Wiz 将 Angular Signals 深度集成到他们的渲染模型中。在 ng-conf 上,我们分享了 YouTube 现在如何使用 Angular Signals。...CDK 和 Material 中的水合作用支持在 v17 中,一些 Angular Material 和 CDK 组件被选择退出水合,这导致了它们的重新渲染。

    28010

    angular框架如何实现父子组件传值、非父子组件传值

    父子组件可以相互获取对方组件的数据以及方法。 2.父组件给子组件传值- -@input 父组件不仅可以给子组件传简单的数据,还可以把它自己的方法以及整个父组件传给子组件,通过HTML模板实现传值。...Component,OnInit,Input} from '@angular/core'; 即多引入了Input 子组件中@input接收父组件传过来的数据: export class newsComponent...下面看实际操作: 第一步:在父组件声明即将传递给子组件的message字符串 第二部:在父组件模块中引入子组件 第三部:在子组件ts文件中接收父组件传来的数据 查看浏览器是否传值成功...3.父组件通过@ViewChild主动获取子组件的数据和方法 在angular也提供了一个@Output修饰器来实现子组件给父组件传值,但是这个方法是较复杂的,我们使用另一种@ViewChild方法来实现...4.非父子组件如何传递数据 现在我知道的有三种方法: cookie:只要在一个组件的ts文件中设置了cookie,则其他组件也可以读取cookie的键值对。

    1.6K20

    AngularDart 4.0 高级-结构指令 顶

    该指南在谈论其属性以及指令的功能时引用了指令类。 指南在描述如何将指令应用于HTML模板中的元素时引用了属性(attribute)名称。...还有其他两种Angular指令,在其他地方被广泛描述:(1)组件和(2)属性指令。 组件以本地HTML元素的方式管理HTML区域。 从技术上讲,这是一个模板指令。...当条件为false时,NgIf从DOM中删除它的宿主元素,将它从DOM事件(它所依附的)中分离出来,将组件从Angular变化检测中分离出来并销毁它。 组件和DOM节点可以被垃圾收集并释放内存。...该组件保持连接到其DOM元素。 它一直在倾听事件。 Angular不断检查可能会影响数据绑定的更改。 无论组件在做什么,它都会继续这样做。 虽然看不见,但组件及其所有后代组件都会占用资源。...变量的作用域限于重复模板的单个实例。 您可以在其他结构指令的定义中再次使用相同的变量名称。 您通过在#(#var)前缀加上变量名称来声明一个模板引用变量。 引用变量是指其附加的元素,组件或指令。

    16.1K20

    Flutter中的基本路由、命名路由、替换路由,返回到根路由

    Flutter中的路由,通俗地讲就是页面跳转。在Flutter中通过 Navigator 组件管理路由导航。 Flutter中给我们提供了两种配置路由跳转的方式:基本路由和命名路由。...我们先通过一个小例子来了解一下命名路由的大致流程: 第1步,在根组件 MaterialApp 中配置路由信息: //main.dart void main() => runApp(MyApp());...第1步,在根组件中配置路由: import 'package:flutter/material.dart'; import 'package:flutter_app_google/pages/SearchPage.dart...第2步,将命名路由配置的相关代码都分离到Routes.dart中: //Routes.dart import 'package:flutter/material.dart'; import 'package...的步骤就可以完成一个可变状态组件的路由传值。

    9.2K21

    Angular 11 正式发布,放弃对IE 9、10的支持!

    WEB前端三大主流框架之一:Angular 11.0.0 于光棍节后正式发布。这次版本更新包括了框架、CLI及其他组件,内容不少,废话不多说,直接上干货。...(3) 组件测试套件 (Component Test Harnesses) 在 Angular v9 中,增加了开发人员可在测试期间使用支持的 API 与 Angular Material 组件交互的方法...在 Angular 11 中,现在所有组件都可以使用该方法进行测试。同时还对这些组件进行了性能改进和增加了新的API接口,允许开发人员进行多个组件的并行交互。...: $ ng serve --hmr 在开发过程中,对组件、模板和样式的最新更改也将立即更新到正在运行的应用程序中。...在 Angular 11 中,将彻底弃用 TSLint 和 Codelyzer 。 (10) 其他更新: 删除了部分不推荐使用的API。

    2K20
    领券