Angular 4 - 解析器和延迟加载策略

时间:2017-09-06 08:06:43

标签: angular lazy-loading

我的应用程序中有一个非常有趣的场景,它使用延迟加载策略,我们从GET请求加载基于API的URL。我们决定采用这种方法的原因是我们希望构建我们的应用程序并将其部署到任何环境(具有不同的API位置),而无需对基于API的URL进行硬编码。

我想向服务器发出第一个GET请求以获取基于API的URL,然后将基于URL的URL设置为HTTPWrapper服务。然后,所有子序列HTTP请求将遵循该基于URL。

现在,哪里是实施第一个HTTP请求的最佳位置?

我们可以创建UniversalResolve服务并在所有顶级路由中使用它吗

   export const ROUTES: Routes = [
    { path: '', redirectTo: 'home', pathMath: 'full' },
    { path: 'home', loadChildren: './home/home.module#HomeModule', resolve :{ data : UniversalResolve} },
    { path: 'admin', loadChildren: './admin/admin.module#AdminModule', resolve :{ data : UniversalResolve} }
    ];

正如您所看到的,UniversalResolve正在应用于所有最高级别..这将导致GET请求获取基于API的URL,重复我们将页面从Home切换到Admin然后再返回Home等的所有内容。

对此更好的解决方案吗?

先谢谢。

0 个答案:

没有答案