Я пытаюсь сделать маршрутизацию в своем приложении более чистой и последовательной. Я хочу создать функции, которые будут делать URL-адреса, которые я передаю в routerLink и config маршрутизатора. Но я столкнулся со многими ограничениями компилятора AOT. И я решил предоставить МАРШРУТЫ с useFactory, таким образом маршруты анализируются в время выполнения и без ограничений AOT.
export function routesFactory(...) {
return [
{
// Such expression is AOT incompatible but it's ok with usefactory
path: someRouteFn(':userId', ':postId').path,
component: SomeComponent
},
...
]
}
providers: [
{
provide: ROUTES,
useFactory: routesFactory,
useValue: [],
multi: true
}
],
Итак. Есть ли серьезные недостатки производительности или пропущенные ошибки AOT, если МАРШРУТЫ добавлены через фабрику?