angular - 对话框在角度材料中不起作用
问题描述
我正在尝试使用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。
推荐阅读
- python - _tkinter.TclError:不能使用“pyimage1”作为iconphoto:不是照片图像
- c++11 - typeid vs std::is_same vs if constexpr
- node.js - DigestUtils 到 Crypto
- android - 带有 SelectClasses 的 Junit5 testSuite 在 android 单元测试中不起作用
- python - 无法弄清楚这个错误来自哪里
- gmail - Gmail API:如何将草稿移至收件箱,就像我们在 Gmail UI 中所做的那样
- serverless-framework - RequestError:证书链中的自签名证书(无服务器)
- javascript - 如何操作 onchange ajax?
- android - Sqlite 错误无法打开数据库文件
- python - 如何在python代码和c代码之间连接