我正在尝试使用角度素材中的dialog
。我正在尝试实现页面上给出的第一个示例:
Angular Material Dialog URL
以下是上页给出的示例的Stackblitz URL:
Example Mentioned on Angular material website
我所做的唯一修改是将对话框组件移动到单独的文件夹中。但是对话框没有正确打开,也没有显示数据。 这是我工作的Stackblitz链接: My Implementation
我认为数据不会在对话框组件中传递。但我无法弄清楚原因。任何帮助都将受到高度赞赏。
答案 0 :(得分:5)
在Stackblitz中,控制台在单击按钮后显示有用的错误消息:
ERROR
Error: No component factory found for DialogComponentComponent. Did you add it
to @NgModule.entryComponents?
要解决此问题,您需要将对话框中显示的组件添加到app.module.ts中的entryComponents集合(或Stackblitz中的main.ts文件)中:
entryComponents: [DialogOverviewExample, DialogComponentComponent],
这是必需的,因为对话框中显示的组件未通过组件的选择器在模板中引用。由于Material的对话框组件按类型引用显示的组件,因此Angular需要知道在编译期间仍需要加载此组件并且不会发生树震动。 Angular docs go into some additional detail on entryComponents if you're interested
答案 1 :(得分:1)
在你的main.ts中用enrtyComponents声明它:
...
entryComponents: [DialogOverviewExample, DialogComponentComponent],
...
here is详细解释。