пожалуйста, помогите с проблемой, которая у меня есть. Я загружаю маршруты из БД через веб-сервис, и все работает, как ожидается, при использовании ссылок на эти маршруты. Но когда я обновляю страницу или пишу URL-адрес непосредственно в адресной строке, маршрут не работает, почему?
в браузере обновлений я получаю URL-адрес не найден
Пожалуйста, помогите мне в этом вопросе.
- Я попытался прокомментировать нашу базу href = '/' в index.html, чтобы она не перенаправляла в root
- Я пытался удерживать управление до ответа API, используя async / await, так что сначала создается маршрутная коллекция, а затем Controll будет двигаться вперед для навигации
, но не может решить эту проблему.
Я добавил свой код в конструктор app.component.ts. Я вызываю функцию, которая загружает маршруты
async getdynamicroutes1(){
const config = this.router.config;
await this.rest.fetchinpromise('Religious/GetRoutesCollection').then(data => {
var indexData = data;
indexData.forEach(element => {
let url : string = `${element.EName.toLowerCase()}/:id`;
config.push({path: url, component: ChaptersComponent, runGuardsAndResolvers:"always"});
element.ReligiousBooks.forEach(religiousbook => {
religiousbook.Chapters.forEach(chapter => {
url = `${element.EName.toLowerCase()}/${this.removeSpace(religiousbook.EName)}/${this.removeSpace(chapter.EName)}/:id`;
config.push({path:url, component: HomeDetailsComponent, runGuardsAndResolvers:"always"});
});
})
});
config.push({ path: "app/pagenotfound", component: PagenotfoundComponent })
config.push({ path: "**", redirectTo: "app/pagenotfound", pathMatch: "full" } )
this.router.resetConfig(config);
},
error => {
console.log("Error :: " + error);
});
}
в браузере обновления, та же страница должна успешно загрузиться.