对话框不适用于有角度的材料

时间:2018-06-04 18:03:40

标签: angular angular-material

我正在尝试使用角度素材中的dialog。我正在尝试实现页面上给出的第一个示例: Angular Material Dialog URL 以下是上页给出的示例的Stackblitz URL: Example Mentioned on Angular material website

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

我认为数据不会在对话框组件中传递。但我无法弄清楚原因。任何帮助都将受到高度赞赏。

2 个答案:

答案 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详细解释。