Aurelia: Добавить/удалить router.navigation Маршруты динамически?

Можно ли перенастроить router.navigation для добавления/удаления определенных маршрутов и, скажем, включить router.navigation для автоматического обновления представления?

Мой вариант использования будет состоять в том, чтобы иметь маршрут для нескольких страниц, т. е. /page/A, /page/B, а затем разрешить добавление дополнительных, пока приложение работает /page/C. Я также хочу, чтобы навигация показывала эти конкретные страницы в меню: «Страница A», «Страница B», «Страница C».

Я считаю, что доступны параметризованные маршруты (route: 'page/:id'). Но неясно, можете ли вы дать некоторый контекст router.navigation, чтобы добавить некоторые определенные маршруты через параметризованную конфигурацию маршрута.


person Meirion Hughes    schedule 26.06.2015    source источник


Ответы (1)


Попробуйте это, чтобы добавить маршрут:

this.router.addRoute({ route: "pageA", moduleId: "views/pageA", nav: true, title: "PageA" });
this.router.refreshNavigation();

Чтобы удалить: проверьте модель навигации и удалите маршрут, который ты хочешь.

person Carlos Mantilla    schedule 05.07.2015
comment
Маршруты добавляются, но когда я пытаюсь перейти к новому маршруту, этого не происходит. - person Ankur; 18.11.2015