繁体   English   中英

对话框在角度材料中不起作用

[英]Dialog not working in angular material

我正在尝试使用角度材料中的dialog 我正在尝试实现页面上给出的第一个示例: Angular Material Dialog URL这是上页给出的示例的 Stackblitz URL: Angular 材料网站上提到的示例

我所做的唯一修改是将对话框组件移动到一个单独的文件夹中。 但是对话框没有正确打开,也没有显示数据。 这是我工作的 Stackblitz 链接:我的实现

我认为以某种方式没有在对话框组件中传递数据。 但我无法弄清楚为什么。 任何帮助将不胜感激。

在您的 Stackblitz 中,单击按钮后控制台会显示有用的错误消息:

ERROR
Error: No component factory found for DialogComponentComponent. Did you add it 
to @NgModule.entryComponents?

要解决此问题,您需要将对话框中显示的组件添加到 app.module.ts(或 Stackblitz 中的 main.ts 文件)中的 entryComponents 集合中:

entryComponents: [DialogOverviewExample, DialogComponentComponent],

这是必需的,因为对话框中显示的组件没有通过组件的选择器在模板中引用。 由于 Material 的对话框组件按类型引用了显示的组件,Angular 需要知道这个组件仍然需要加载,而不是在编译期间摇树。 如果您有兴趣,Angular 文档会详细介绍 entryComponents

在 main.ts 中也用 enrtyComponents 声明它:

...
entryComponents: [DialogOverviewExample, DialogComponentComponent],
...

这里有详细的解释。

Angular 9 以上版本不需要 entryComponents。

我的问题只是打开对话框的按钮中的href="#" 删除了它,问题得到了解决。 道具都在这里了

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM