我正在一个项目中,我的路线应该来自我的API
我尝试做Route.config.unshift,它确实有效,但是只有在加载项目后,该路由才会存在。
当用户根本无法访问我的网站时,我需要它工作,我需要在我的应用启动路由之前调用API。
答案 0 :(得分:1)
记录的方法是使用resetConfig(routes: Route[])
https://angular.io/api/router/Router#resetConfig
您可以做的是先添加一个{ path: '**', component: LoadExternalRoutesComponent }
在该组件中,您可以使用http客户端加载api,然后调用router.resetConfig()
困难的部分将是获取angular和webpack(angular-cli)来创建所有模块,如果您使用的是延迟加载,则可能会遇到问题。
angular.json文件中有一个名为lazyModules的功能,即使没有使用它们,也会强制angular和webpack创建模块。
"build": {
"builder": "@angular-devkit/build-angular:browser",
"options": {
...
"lazyModules": [
"src/app/lazy/lazy.module"
]
}
...
我发现本教程的主题为https://www.dzurico.com/angular-lazy-load-modules-with-cli/
我希望这会为您指明正确的方向