问题标签 [mat-dialog]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
44 浏览

angular - Angular matDialog 应该显示两个带有样式的空 div

我正在尝试使用 matDialog 以角度将组件显示为弹出窗口。在组件的 HTML 中,我已经形成了两个空白,基本样式为 width 和 bgcolor。但是在 matDialog 中,只有表单被显示,而不是空的 div。

谁能建议如何使用 matDialog 实现这一目标?下面是我的代码。参考类“曲线”,因为我希望这些 div 显示在弹出窗口中。

0 投票
1 回答
274 浏览

angular - Mat 对话框关闭在 Angular 11、Meterial 11 上不起作用

当我调用 MatDialogRef 实例的函数 close 时,对话框应该关闭,但它没有。

我有一个名为 ShareModule 的模块,其中包含 HeaderCompose 和 LoginComponent。HeaderComponent 使用 LoginComponent 来对话。

TS:

在 LoginComponent 我有一个这样的按钮:

和 TS:

我将 ShareModuel 导入一个名为 HomeModule 的模块并使用 HeaderComponent。

当我按下一个按钮时,对话框显示,但是当我按下关闭按钮时,它应该关闭但它没有。我试过 [mat-dialog-close] 但它仍然不起作用。

0 投票
1 回答
69 浏览

angular - 如何在 Angular (8) 的对话框中导入模块?

我创建了一个对话框作为要在我的角度项目中重用的组件,当我尝试在我的对话框中导入任何模块时,页面不起作用。

我的项目的层次结构:

我的项目的层次结构

所以我在员工破折号页面中导入了 dialog-m 组件,它工作正常。然后我想在 dialog-m 中导入定制模块,但它不起作用。虽然当我在员工仪表板中导入定制时它工作正常。

0 投票
0 回答
13 浏览

asynchronous - canDeactivate 在异步代码中使用 matDialog

我无法从异步代码中捕获 matDialog 响应。下面是显示我的实现的代码片段。

守卫.ts

但是此代码无法在对话框中获取用户操作的输入。我找不到可能是什么问题以及如何在异步代码中处理 matDialog 。我很想得到任何关于如何处理这种情况的意见。

注意:这是非常通用的代码示例,而不是实际代码。如果您需要额外信息来理解场景,请发表评论。

提前致谢。

0 投票
1 回答
414 浏览

mat-dialog - 如何防止 MatDialog 在外部单击时关闭

如何防止 MatDialog 在外部单击但在我的 Angular 应用程序的所有对话框中关闭?我还意识到,在将 disableClose 设置为 true 后,转义键没有关闭对话框,所以我添加了一个主机侦听器来强制关闭,但这并不是最好的解决方案……对于特定的组件,我可以做到这一点。

但是如何为我的应用程序中的所有对话框全局执行它,而不是在每个对话框组件中执行它并应用主机侦听器?

0 投票
1 回答
30 浏览

angular - Angular 代码问题 - 将数据注入 mat-dialog-actions

我需要为 Angular 中的方法获取一些数据。这是代码:

我需要像下面的 editNpi(data) 一样将数据放入 addNpi()

有没有办法做到这一点?谢谢!

0 投票
1 回答
221 浏览

angular - [Angular 11-12][Jasmine] 从 MatDialog 测试 afterClosed() 订阅的问题

我正在尝试监视呼叫服务,以了解 matdialog 关闭后是否已被调用。

但是我有这个错误..

TypeError: Cannot read property 'close' of undefined

但是,如果我不尝试关闭对话框,则永远不会调用“afterClosed()”订阅中的代码

这是我的组件方法:

这是我的 spec.ts 文件:

我的嘲笑:

有什么问题?我只需要在单击视图的按钮时检查对话框是否打开,并且当关闭对话框并重新调整对象时,使用对象信息调用 te 服务。

谢谢你的帮助!!!

0 投票
1 回答
440 浏览

angular - NullInjectorError:没有 x 的提供者

在此之前component被加载,MatDialog但现在要求是将其加载到某个 url 上,即http://localhost:4200/some-url当我通过 url 加载此组件并出现错误时

NullInjectorError:没有 x 的提供者!

这是我试图在 url 上加载的组件。

在此处输入图像描述

0 投票
1 回答
222 浏览

angular - 如何从自定义确认装饰器访问自定义服务和对话框

如何在角度依赖注入中访问该单例实例?

我想用这种方式为确认对话框编写自定义装饰器。
装饰器实现:

在这里使用

我有自己的服务与 matDialog 集成并确认我在任何地方使用的操作。

我尝试了一些方法,例如 Injertor.create 和 ReflectiveInjector(deprecated),但我无法访问我的服务实例。

我试图从装饰器访问组件内部注入的confirmService,但装饰器在组件依赖注入完成之前执行。 在此处输入图像描述

0 投票
1 回答
101 浏览

angular - 如何在 Angular 单元测试中模拟从 afterClosed 发送的 MatDialog 响应?

我正在尝试为 MatDialog 编写一些单元测试。我想要做的是模拟来自对话框的响应并测试它是否被组件正确处理。

在我的组件中,我应该Map<string, any>从关闭的对话框中获取一个并将它们设置为myDataMap。

我的.component.ts

我的.component.spec.ts

在我的规范文件中,我创建了一些responseMock,我试图将其用作响应,但我的测试只是失败了:

Chrome Headless 91.0.4472.164(Windows 10)错误在 afterAll TypeError 中引发错误:无法读取未定义
Chrome 91.0.4472.164(Windows 10)的属性“forEach”MyComponent 应从对话框 FAILED 错误中获取数据:预期 0 为 2。

如何在单元测试中模拟来自 MatDialog 的响应,以便正确处理MyComponent