在另一个组件Angular中打开对话框时出错

时间:2018-04-13 05:41:07

标签: java html typescript module angular5

我有一个系统的配置模块,当我访问配置页面时,我在配置组件中有几个组件。

我正在尝试在组件配置内部的组件内打开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)

0 个答案:

没有答案