Angular 如何在NGRX中使用其他功能的选择器

Angular 如何在NGRX中使用其他功能的选择器,angular,ngrx,Angular,Ngrx,我有一个管理员页面,其中我有一个特定页面的状态。我还想展示部分报告状态。在redux开发工具中,我可以看到我已经正确地加载了报告并初始化了状态的管理部分,但是我无法让我的选择器访问状态的报告部分 我已经阅读了官方文档,但我不清楚单独的文件多选择器。 我已经调整了我的州,从主州继承,但这显然是错误的。我做了一些其他的调整,我整天都在搜索谷歌,但到目前为止都是徒劳的 wageAdmin部分 在管理shell组件中,我有 恩戈尼尼特:空虚{ //这很有效 this.store.dispatchnew

我有一个管理员页面,其中我有一个特定页面的状态。我还想展示部分报告状态。在redux开发工具中,我可以看到我已经正确地加载了报告并初始化了状态的管理部分,但是我无法让我的选择器访问状态的报告部分

我已经阅读了官方文档,但我不清楚单独的文件多选择器。 我已经调整了我的州,从主州继承,但这显然是错误的。我做了一些其他的调整,我整天都在搜索谷歌,但到目前为止都是徒劳的

wageAdmin部分 在管理shell组件中,我有

恩戈尼尼特:空虚{ //这很有效 this.store.dispatchnew fromReportActions.Load; this.showReportCode$=this.store.pipeselectfromWageAdmin.getShowWageAdminCode; //这将返回未定义的 this.reports$=this.store.pipeselectqueryReports.getReports; this.errorMessage$=this.store.pipeselectqueryReports.getError; this.selectedReport$=this.store.pipeselectqueryReports.getCurrentReport; this.displayCode$=this.store.pipeselectqueryReports.getShowReportCode; } 在我要导入的管理模块中

StoreModule.forFeature'wageAdmins',减速机, EffectsModule.forFeature [效果,报告效果] , 在我的管理状态的index.ts中

从'@ngrx/store'导入{createFeatureSelector,createSelector,ActionReducerMap}; 从“../../state/app.state”以root格式导入*; 从“/wageadmin.reducer”导入*作为从wageadmin导入; 从“../../state/report/report.reducer”导入*作为报表; 导出接口状态扩展自root.State{ wageAdmins:fromWageAdmin.WageAdminState; } 导出常量缩减器:ActionReducerMap={ wageAdmins:fromWageAdmin.reducer, 报告:fromReports.reducer } //选择器功能 导出常量getWageAdminFeatureState=createFeatureSelector'wageAdmins'; 导出常量getShowWageAdminCode=createSelector getWageAdminFeatureState, state=>state.showReportCode ; 在wageadmin.reducer.ts中,我有

从“/wageadmin.actions”导入{WageAdminActionTypes,WageAdminActions}; //此功能的状态为 导出接口状态{ 显示代码:布尔; 错误:字符串; } 常量initialWageAdminState:WageAdminState={ showWageAdminCode:true, 错误: }; 导出函数reducerstate=initialWageAdminState,操作:WageAdminActions:WageAdminState{ //等等。。。。 报告部分 在我的应用程序顶层的app.state.ts文件中,我有

从“./report/report.reducer”导入*作为报表; 导出接口状态{ 报告:fromReports.ReportState } 从“./report/report.selectors”导出{queryReports}; 从“./report/report.actions”导出{fromReportActions}; 在我的报告中

从“../../classes/Report”导入{Report}; 从“/report.actions”导入{ReportActionTypes,ReportActions}; //此功能的状态为 导出接口报告状态{ showReportCode:布尔型; currentReportId:字符串| null; 报告:报告[]; 错误:字符串; } 导出常量initialState:ReportState={ showReportCode:true, currentReportId:null, 报告:[], 错误: }; 导出函数reducerstate=initialState,操作:ReportActions:ReportState{ //等等。。。。。。 在my report.selectors.ts中

从'src/app/classes/Transport'导入{Transport}; 从'src/app/classes/Report'导入{Report}; 从'@ngrx/store'导入{createFeatureSelector,createSelector}; 从“./report.reducer”导入*作为来自报表; //选择器功能 导出常量getReportFeatureState=createFeatureSelector'reports'; export const getReports=createSelector getReportFeatureState, state=>state.reports ; 输出 我期望报告状态,但我得到的控制台错误输出为

无法读取未定义的属性“报告” 无法读取未定义的属性“showReportCode” 无法读取未定义的属性“showReportCode” 无法读取未定义的属性“currentReportId”
我在wageAdmin级别合并减速器是错误的

我从工资管理部分的index.ts中删除了减速机。然后在模块部分,我将导入更改为

StoreModule.forFeature'wageAdmins',reducer, EffectsModule.forFeature [效果] , 然后在我构建报告的模块report.module.ts中,我导入了报告存储和缩减器

StoreModule.forFeature'reports',reducer, EffectsModule.forFeature [报告效果] , 在这一更改之后,我的代码按其应该的方式运行