首页
学习
活动
专区
工具
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.5K10

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.5K20

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官方指定组件库,所以受众特别多,不管是在GithubStar/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.7K30

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 状态变化传递给组件

84510

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.7K10

18 个漂亮 Bootstrap 模板

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

12.6K11

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

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

9K10

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 组件被选择退出水合,这导致了它们重新渲染。

8110

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.5K20

AngularDart 4.0 高级-结构指令 顶

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

16K20

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...步骤就可以完成一个可变状态组件路由值。

8.8K21

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。

1.9K20
领券