如何为RouterModule提供服务,以便根据某些参数动态注入路由?
请注意,此参数也是动态的(它来自bootstrapping之前的api调用).
我确实意识到通过使用RouterModule.forRoot(这是一个静态函数),我对注入服务非常有限.
解决方法
您需要为ROUTES标记提供一个生成路由配置并获取该参数的函数.此外,您需要提供该参数.
import {ROUTES} from '@angular/router/src/router_config_loader'; [...] imports: [RouterModule.forRoot([])] // Empty on purpose providers: [ SomeParamForTheFunction,{provide: ROUTES,multi: true,useFactory: routesFunction,deps: [SomeParamForTheFunction]},]
你如何提供这个参数取决于你.你可以使用另一家工厂.