我正在寻找一种方法来加载另一个延迟加载的模块,而不是一个延迟加载的模块,因为一个模块需要另一个模块的延迟加载的存储...
我应该重新考虑我的架构还是有办法在Angular中做到这一点?
答案 0 :(得分:0)
您可以将一个延迟加载的模块导入和导出到另一个模块。
这将导致多次声明第二个存在的任何路线
在这种情况下,只需将共享代码拆分为第三个模块,该模块将导入到两个延迟加载的模块中。
答案 1 :(得分:0)
我结束了这个有效的解决方案:因为我的需求是访问由其他模块延迟加载的ngrx商店,我只是直接导入主应用程序Root商店中所需的reducer,我还导入了根模块app中所需的效果< / p>
编辑:有一种聪明的方法可以使用警卫来检查状态的存在,如果没有,警卫会启动一个加载物品的商店动作
示例:
checkStore(): Observable<boolean> {
return this.store.select(myselector).pipe(
tap(loaded => {
if (!loaded) {
this.store.dispatch(new store.loadThings());
}
}),
filter(loaded => loaded),
take(1)
);
}
感谢Todd Motto的提示