我有一个系统的配置模块,当我访问配置页面时,我在配置组件中有几个组件。
我正在尝试在组件配置内部的组件内打开MatDialog。
下面是我的文件树和@NgModule配置。
设置
mysettings1
对话框
dialog1.component.ts
dialog1.component.html
...
形式
form1.component.ts
form1.component.html
mysettings1.component.ts
mysettings1.component.html
settings.module.ts
我在public string ProvinceCode
{
get
{
return provinceCode;
}
set
{
provinceCode = value;
}
}
public Form1()
{
//HTGetProvinces() returns a list of provinces
InitializeComponent();
List<HTProvince> provinceList =
HTProvince.HTGetProvinces();
foreach (HTProvince x in provinceList)
{
//Works. Adds items the province code property of for each item to my list
provincesListBox.Items.Add(x.ProvinceCode);
}
}
内添加了Dialog1 settings.module.ts
,也添加了Dialog1 declarations
。
我在entryComponents
组件中有Form1
个组件,我正在尝试从MySettings1
组件运行Dialog1
组件。
尝试打开Form1
时出现以下错误:
Dialog1
即使我正在导入声明和entryComponents,但错误正在发生,我认为这与我的Dialog1所在的目录有关。
对于我系统中的其他地方,我可以正常打开所有对话框。
现在唯一的区别是组件所在的目录。
app.module.ts
ERROR Error: No component factory found for Dialog1Component. Did you add it to @NgModule.entryComponents?
at noComponentFactoryError (core.js:3925)
at CodegenComponentFactoryResolver.resolveComponentFactory (core.js:3989)
at CdkPortalOutlet.attachComponentPortal (portal.es5.js:655)
at MatDialogContainer.attachComponentPortal (dialog.es5.js:190)
at MatDialog._attachDialogContent (dialog.es5.js:864)
at MatDialog.open (dialog.es5.js:720)
at Form1Component.addForm (form-1.component.ts:37)
at Object.eval [as handleEvent] (Form1Component.html:25)
at handleEvent (core.js:13547)
at callWithDebugContext (core.js:15056)