我在 Angular2 RC1 中使用新路由器(不是路由器弃用)。我需要能够在应用程序继续加载之前加载JSON配置文件。我使用Config类来获取我的JSON配置,但问题是,我不想在我的配置完成加载之前加载路由器插座。
我尝试用<router-outlet>
包裹*ngIf
,但却遇到了这个问题:https://github.com/angular/angular/issues/8539
我也尝试按照此article扩展<router-outlet>
,但没有运气(不能与RC1合作)
Angular1有办法重新加载&#34;路线,但这似乎不存在于NG2中。
我该怎么做?如何在加载应用程序后加载我的JSON配置文件,并在配置完成后呈现应用程序?有没有其他人成功地做到了这一点?
答案 0 :(得分:0)
在新路由器中>= RC.3
)https://angular.io/docs/ts/latest/api/router/index/Router-interface.html#!#resetConfig-anchor resetConfig
可以使用
router.resetConfig([ { path: 'team/:id', component: TeamCmp, children: [ { path: 'simple', component: SimpleCmp }, { path: 'user/:name', component: UserCmp } ] } ]);
对于您的情况,我会使用一些虚拟路由和虚拟组件初始化路由器,然后在您的JSON可用后加载新路由并导航到新的默认路由。
https://github.com/angular/angular/issues/11437#issuecomment-245995186提供 RC.6 Plunker
答案 1 :(得分:-1)
如何考虑加载页面?这样,如果您的数据尚未完全加载,则会显示加载页面而不是您的路线。
有关如何在Angular2中实现加载屏幕的建议,请参阅this question。
<强>更新强>
另一方面,我发现我们可以使用路线解析器预加载数据。我还在学习它,this angular documentation可能有所帮助。