Angular MatDialog在entry组件中未定义
我使用最新的Angular版本并修改模板。我有一个名为Angular MatDialog在entry组件中未定义,angular,typescript,Angular,Typescript,我使用最新的Angular版本并修改模板。我有一个名为toolbar.module.ts的模块,其中包含一个entryComponent: @NgModule({ declarations: [ToolbarComponent, ToolbarDropdownComponent], imports: [ CommonModule, MatDialogModule, [...] ], exports: [ToolbarComponent], entryC
toolbar.module.ts
的模块,其中包含一个entryComponent
:
@NgModule({
declarations: [ToolbarComponent, ToolbarDropdownComponent],
imports: [
CommonModule,
MatDialogModule,
[...]
],
exports: [ToolbarComponent],
entryComponents: [ToolbarDropdownComponent]
})
export class ToolbarModule {
}
在ToolbarDropdownComponent
内部,我使用它如下:
[...]
export class ToolbarDropdownComponent implements OnInit {
constructor(public dialog: MatDialog) { }
foo() {
this.dialog.open(...); <--- this.dialog is undefined
}
}
[…]
导出类ToolbarDropdownComponent实现OnInit{
构造函数(公共对话框:MatDialog){}
foo(){
this.dialog.open(…);它是公共的。将它设为私有,您可以使用this
。我使用this
,私有或公共不应该有什么区别:编辑:确认,很遗憾,它不能在组件文件中添加MatDialog
的导入部分。参考:
export class ToolbarDropdownComponent implements OnInit {
constructor(private dialog: MatDialog) { }
foo() {
this.dialog.open(...);
}
}