Angular 2.0 Material MdDialog 与 Angular 2.0 的工作示例

2023-12-01

我正在开发一个 POC 应用程序,我正在尝试获取MdDialog组件工作。有谁有一个可以传递给的工作示例MdDialog开放方法?

角度 2.0:https://github.com/Angular/Angular

角度 2 材质:https://github.com/angular/material2


更新到 Angular v4 和 @Angular/material 2.0.0-beta.12

md前缀更改为mat

Import MatDialogModule代替MdDialogModule

@angular/material现在取决于@angular/cdk作为同伴依赖。

Recap: Plunkr

材料对话框 + 附录的 8 个步骤

Step 1:安装包

npm i --save @angular/material @angular/cdk @angular/animations

Step 2:配置systemjs.config.js

map: {
  ...
  '@angular/animations': 'npm:@angular/animations/bundles/animations.umd.js',
  '@angular/animations/browser': 'npm:@angular/animations/bundles/animations-browser.umd.js',
  '@angular/platform-browser/animations': 'npm:@angular/platform-browser/bundles/platform-browser-animations.umd.js',
  '@angular/material': 'npm:@angular/material/bundles/material.umd.js',
  '@angular/cdk': 'https://unpkg.com/@angular/cdk/bundles/cdk.umd.js',
  '@angular/cdk/a11y': 'https://unpkg.com/@angular/cdk/bundles/cdk-a11y.umd.js',
  '@angular/cdk/bidi': 'https://unpkg.com/@angular/cdk/bundles/cdk-bidi.umd.js',
  '@angular/cdk/coercion': 'https://unpkg.com/@angular/cdk/bundles/cdk-coercion.umd.js',
  '@angular/cdk/collections': 'https://unpkg.com/@angular/cdk/bundles/cdk-collections.umd.js',
  '@angular/cdk/keycodes': 'https://unpkg.com/@angular/cdk/bundles/cdk-keycodes.umd.js',
  '@angular/cdk/observers': 'https://unpkg.com/@angular/cdk/bundles/cdk-observers.umd.js',
  '@angular/cdk/overlay': 'https://unpkg.com/@angular/cdk/bundles/cdk-overlay.umd.js',
  '@angular/cdk/platform': 'https://unpkg.com/@angular/cdk/bundles/cdk-platform.umd.js',
  '@angular/cdk/portal': 'https://unpkg.com/@angular/cdk/bundles/cdk-portal.umd.js',
  '@angular/cdk/rxjs': 'https://unpkg.com/@angular/cdk/bundles/cdk-rxjs.umd.js',
  '@angular/cdk/scrolling': 'https://unpkg.com/@angular/cdk/bundles/cdk-scrolling.umd.js',
  '@angular/cdk/table': 'https://unpkg.com/@angular/cdk/bundles/cdk-table.umd.js',
  '@angular/cdk/stepper': 'https://unpkg.com/@angular/cdk/bundles/cdk-stepper.umd.js',
},

Step 3: Import MatDialogModule到你的模块

import { MatDialogModule } from '@angular/material';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';

@NgModule({
  imports: [ 
    BrowserModule,
    BrowserAnimationsModule, <== required
    MatDialogModule <== here
  ],
  declarations: [ AppComponent],
  bootstrap: [ AppComponent ]
})
export class AppModule {}

Step 4:创建所需的对话框组件,例如:

@Component({
  selector: 'your-dialog-selector',
  template: `
  <h2>Hi! I am modal dialog!</h2>
  <button mat-raised-button (click)="dialogRef.close()">Close dialog</button>`
})
export class DialogComponent {
  constructor(public dialogRef: MdDialogRef<DialogComponent>) { }
}

Step 5:将步骤 4 中的组件添加到declarations and entryComponentsNgModule 装饰器的数组:

@NgModule({
  imports: [ BrowserModule, MatDialogModule ],
  declarations: [ AppComponent, DialogComponent ],
  entryComponents: [ DialogComponent ],
  bootstrap: [ AppComponent ]
})
export class AppModule {}

Step 6:在您的组件中使用它:

@Component({
  selector: 'my-app',
  template: `<button mat-raised-button (click)="openDialog()">Open dialog</button>`,
})
export class App {

  constructor(public dialog: MatDialog) { }

  openDialog(key) {
    let dialogRef = this.dialog.open(DialogComponent);
  }
}

Step 7选择所需的主题:

<link href="https://unpkg.com/@angular/material/prebuilt-themes/deeppurple-amber.css" 
  rel="stylesheet">

您可以找到其他主题here

Step 8

如果您想将数据传递给模式,请使用以下(Plunker):

dialogRef.componentInstance.param1 = "test value";

Appendix

路由对话框:Plunkr

可拖动对话框 (我如何制作 MatDialog 可拖动/角度材质)


笨蛋的例子

See also

  • Material.Angular.io > 指南 > 入门
  • 主构建
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Angular 2.0 Material MdDialog 与 Angular 2.0 的工作示例 的相关文章

随机推荐

  • 将焦点设置在 WPF 中 ControlTemplate 内的控件上

    在我正在开发的应用程序中 我们有一堆自定义控件 其 ControlTemplates 在 Generic xaml 中定义 例如 我们的自定义文本框看起来类似于
  • Selenium 为什么将 firefox 驱动程序的acceptuntrustedcertificates 设置为 true 不起作用?

    我正在开发一些硒测试 我面临一个重要问题 因为当我使用安全连接测试我的网站时 我没有找到 真正的 解决方案 HTTPS 我在 stackoverflow 上找到的所有解决方案都已过时或不起作用 我正在 Firefox 中编写 Seleniu
  • 成功登录后 django admin 重定向

    我正在使用 Django 1 6 1 目前在我的项目中 成功管理登录后 管理系统将我带到管理仪表板 即 localhost 8000 admin 从这里我可以访问我的大部分应用程序 如用户 类别 组等 90 的时间我想访问用户管理页面 即
  • 针对 strcpy 但不针对 memcpy 的 C4996(函数不安全)警告

    我正在 VS2010 中编写代码 我碰巧在编译后看到编译器对 strcpy 和 sprintf 调用发出 C4996 警告 此函数或变量可能不安全 但是 我无法获得 memcpy 的类似警告 并且代码中可能还有一些类似的 不安全 函数调用
  • EC2微实例上的ubuntu在内存不足时自动重启Mysql

    当系统内存不足时 ubuntu 12 04会杀死mysql进程 Out of memory Kill process 17074 mysqld score 146 or sacrifice child 所以该进程最终被杀死 这种情况发生在服
  • 将路由组织到单独的文件中,在 Slim 中无法正常工作

    这是我的索引 php file use Psr Http Message ServerRequestInterface as Request use Psr Http Message ResponseInterface as Respons
  • 用ggplot中的函数定义的两条线之间的阴影区域[重复]

    这个问题在这里已经有答案了 我试图找到如何对 ggplot 中由函数定义的两条线之间的区域进行着色的可能性 我找到了一些使用 geom area 或 geom ribbon 的解决方案 但在这两种情况下 您都需要一个定义 ymin 和 ym
  • Google 地图动画相机位置 iOS 7 问题

    我正在尝试将 Google Maps API 安装到 iOS7 的应用程序中 在遵循 Google 的指南和视频后 我最终遇到了以下错误 GMSMapView animateToCameraPosition unrecognized sel
  • 如何在 Eclipse 中将控制台参数传递给应用程序?

    我在批处理文件中有以下行 java Client 127 0 0 1 9876 它包含我的 java 类的名称和两个参数 我的应用程序需要这些参数才能正常运行 在 Eclipse 中运行应用程序时有什么方法可以传递这些参数吗 这将使调试变得
  • 如何最好地控制迭代方向?

    我有一个装有大型对象的容器 复制这些对象的成本很高 我有时必须正常迭代整个容器 有时则必须反向迭代 一旦确定了迭代方向 我就不需要在飞行中更改 即不需要随机访问 我希望做这样的事情 include
  • Application_Start 未在 IIS 中触发

    在我的网络应用程序中 我在Global asax 中的 APPLICATION START 文件 当我在开发服务器上运行它时它一直在工作 然而 当我在 IIS 中托管它时 Application Start 事件未触发 任何人都可以帮我摆脱
  • 如何确定矩形何时重叠或相交?

    我找到了如何绘制矩形和一些代码来查找两个矩形何时重叠 但我无法连接这些过程 我有我想要的两个矩形 但无法确定它们是否相交 然后将此信息添加到列表框 这是我的代码 public partial class Form1 Form Graphic
  • 交替行颜色ListView xamarin表单

    我在 ListView 上绑定了一个 ObersvableCollection 我想改变我的 ListView 的行颜色 我找到了很多代码 但对我不起作用 如果你可以分享一个示例 样本 像这样 但我不知道我该怎么做 我使用 Visual S
  • R 中的历史方差误差分解图

    我在下面的链接中找到了如何估计 R 中 VAR 模型的历史方差分解 历史方差误差分解 Daniel Ryback Daniel Ryback 在 Excel 绘图中显示了结果 但我想用 ggplot 来准备它 所以我创建了一些行来获取它 尽
  • 打印给定元素排列的程序[关闭]

    Closed 这个问题需要多问focused 目前不接受答案 我最近参加了 ACM 认证的编程竞赛 这是我当时做不到的问题 给定一个包含 n 个元素的整数数组 编写一个程序来打印所有排列 请告诉我这道题该怎么做 有什么算法可以做这类题吗 假
  • 如何追踪 SIGABRT 的原因

    我出于示例目的展示了该问题的代码 但实际上我的问题是 我应该如何追踪和理解 SIGABRT 错误 我读过这个问题 sigabrt 没有错误消息 但是我认为这与我的问题无关 我下面将展示的示例显然不是 xib 问题 之前获得 SIGABRT
  • 如何在 Hyperledger Composer 中处理资产的表单、图像、视频

    在 Hyperledger Composer 模型文件中定义资产时 我们如何处理表单 图像 视频 有哪些可用的数据类型 例如 如果我的资产是房屋 并且我想存储房屋的图像 如何在资产中定义它 我已经参考过文档 它说可用的原始数据类型是字符串
  • 在 Magento 后端添加自定义仪表板“框”而不编辑默认模板的正确方法是什么?

    我正在努力创建一个我希望有一天能成为公开可用的 Magento 扩展的东西 我提到这一部分是因为我在这里做 正确的事 对我来说很重要 我想做的一件事是在默认的 Magento 仪表板中添加一个框 基本上是一个新的 框 与 前 5 个搜索词
  • 如何将输出对齐到屏幕中心 - C++?

    我正在开发 C 控制台应用程序 我想执行并打印应用程序窗口屏幕中心的所有内容 水平 垂直 如下所示 User xyz Pass 我想按照上面指出的那样运行我的整个程序 有什么办法可以做到吗
  • Angular 2.0 Material MdDialog 与 Angular 2.0 的工作示例

    我正在开发一个 POC 应用程序 我正在尝试获取MdDialog组件工作 有谁有一个可以传递给的工作示例MdDialog开放方法 角度 2 0 https github com Angular Angular 角度 2 材质 https g