Использование Angular 6
Мне нужно иметь возможность выбрать набор маршрутов из бэкэнда, поместить их в router.config, а затем перейти к выбранным маршрутам.
Я могу таким образом добавлять маршруты, которые определены в файлах машинописи, и я могу ориентироваться.
const mypaths: Routes = [
{
path: 'test',
component: MyTestComponent
}
];
this.router.config.unshift(mypaths[0]);
this.router.resetConfig(this.router.config);
this.router.navigateByUrl('test');
Вышеописанное работает как шарм.Как только я пытаюсь сделать то же самое, но вместо этого извлекаю из базы данных, MyTestComponent выдает ошибку, спрашивая, вставил ли я это в entryComponents (который, я имею. Ничего не изменил).
this.rest.getRoutes('TestMePlease')
.subscribe(routes => {
for ( const routePoss in routes ) {
if ( routes.hasOwnProperty(routePoss) ) {
for ( let i = 0; i < routes[routePoss].length; ++i ) {
this.router.config.unshift(<Route>routes[routePoss][i]);
}
}
}
this.router.resetConfig(this.router.config);
this.router.navigateByUrl('test');
Я заметил, что вывод при печати router.config после извлечения json включает ключ-значение (строка-строка) для компонента, чего нет в обычной печати конфигурации маршрутизатора:
{
"path": "test"
},
против
{
"component": "MyTestComponent",
"path": "test"
},
Я что-то не так делаю с resetConfig, чтобы он не распознал отправку в паре путь-компонент-маршрут?