У меня есть следующая конфигурация маршрута в приложении Angular:
{
path: ParentComponent.path,
component: ParentComponent,
canActivate: [AuthGuard],
children: [
{
path: '',
pathMatch: 'full',
redirectTo: getDefaultChildRoute()
},
{
path: ':mode/:year/:month/:day',
component: ChildComponent
}
]
}
Функция getDefaultChildRoute () возвращает строку, подобную этой:
export function getDefaultChildRoute(): string {
const urlArray = ['a', '2019', '02'];
return urlArray.join('/');
}
Проблема, похоже, в том, что redirectTo
ожидает строку, но не метод для вызова (даже если он возвращает строку). Если я заменю этот вызов метода строкой-заполнителем, он будет работать нормально.
В github уже есть проблема: https://github.com/angular/angular/issues/13373
Использование функции стрелки непосредственно в redirectTo
throws Ошибка Typescript '() => строка не может быть назначена типу string'.
Есть идеи?