Angular - 使用延迟加载的模块加载另一个延迟加载的模块

时间:2017-12-21 16:35:58

标签: angular angular2-routing angular4-router

我正在寻找一种方法来加载另一个延迟加载的模块,而不是一个延迟加载的模块,因为一个模块需要另一个模块的延迟加载的存储...

我应该重新考虑我的架构还是有办法在Angular中做到这一点?

2 个答案:

答案 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的提示

相关问题