Angular2在引导模块之前从Ajax调用获取数据..

时间:2016-09-23 21:05:16

标签: angular angular2-routing angular2-services

注意:在问这个问题之前,我去了很多其他答案和博客。我也去过并了解过。 Make AJAX request before bootstrapping Angular2 application正确.. 通过对bootstrapModule的介绍,以前的所有答案都不起作用。并且所有答案都有在angular2的稳定版本中没有的API

问题: 我试图用登录/身份验证解决非常基本的问题。 如果用户复制链接http://domain.com/login,如果他已经登录,我想将他重定向到家。

我尝试的方式是路由更改我检查身份验证然后重定向。但这需要时间,因为必须等到响应回来。我想要的是甚至在角度引导程序发生之前我想进行ajax调用并从服务器获取当前用户。如果用户未登录该呼叫将不会给任何用户,并且该信息应该通过某些服务提供给Angular,请使用authService。 所以在任何地方我们都可以使用authService.user来检查用户是否登录。

不是我可以使用本机JS xmlHttpRequest进行ajax调用并在window对象中存储使用。并在bootstrap访问authService中的窗口对象,工作正常。 但我认为使用窗口对象不是一个好的解决方案。

请指导我可能的解决方案。

下面是我的main.js,我必须使用bootstrapMoudle而不是bootstrap(组件);

import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
import { AppModule }              from './app.module';

const platform = platformBrowserDynamic();
platform.bootstrapModule(AppModule)
  .catch(err => console.error(err));

0 个答案:

没有答案