回到使用不推荐使用的路由器时,我能够执行router.config并传入一个对象。问题是,在启动应用程序后,路由器本身已进行了配置,该对象具有与我使用@RouterConfig相同的“模板”。我正在寻找的是是否有办法像这样配置新路由器。一直在浏览文档,但由于尚未进行文档记录,我有点不知所措。
根据答案进行编辑
不,我不能使用@Routes。问题是我在构造路由器之后加载配置。这是我如何使用旧路由器的摘要:
myLoader.loadComponentConfig(configPath)
.then(components => { self.Components = components;
components.map(comp => {
self.RouterComponents.push(
{
path: '/' + comp.name,
component: comp,
as: comp.name
}
)});
router.config(self.RouterComponents);
});
如您所见,我正在为自己构建一个json对象(RouterComponents),然后将其发送到路由器。我正在寻找一种对新路由器执行相同操作的方法。
在新路由器(>= RC.3
)中,可以使用https://angular.io/docs/ts/latest/api/router/index/Router-class.html resetConfig
router.resetConfig([ { path: 'team/:id', component: TeamCmp, children: [ { path: 'simple', component: SimpleCmp }, { path: 'user/:name', component: UserCmp } ] } ]);
您可能需要提供一些虚拟路由器配置,以免在应用程序启动时出错。
https://github.com/angular/angular/issues/11437#issuecomment-245995186提供RC.6柱塞
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句