Резюме:
РАБОТЫ
1) Кнопка входа в систему
2) см главную страницу с помощью кнопки test1 и выйти
3) нажмите Выход
4) получить логаут и доставлены в страницу регистрации
Aurelia setRoot работает, когда в домашней странице, но не на странице ребенка
НЕ РАБОТАЕТ
1) войти в
2) см главную страницу с помощью кнопки test1 и выйти кнопку
3) нажмите test1
4) получить приняты к test1 странице
5) нажмите выйти
ERROR [приложение-маршрутизатор] Ошибка: Путь не найден:/test1
Я сократил свой код до бит, с которым я борюсь, и сделал плункер, ОДНАКО плункер не любит тег для инъекций, который я использую, и поэтому не отображает. Вы все еще можете увидеть макет кода, хотя (если кто-то может исправить проблему с инъекцией, которая была бы удивительной).
plunker: http://embed.plnkr.co/V5IoGqDfmo1djd3kW6bZ/
Идея заключается в том, что модуль имеет вход маршрутизатор только с двумя путями - войти и пароль сброса (взятый пароль сброса из plunker, как не имеет значения). Когда пользователь входит в систему, мы устанавливаем root в приложение, у которого есть другой маршрутизатор, к которому может обратиться только тот, кто входит в систему.
После входа в систему, нажатие кнопки выхода из системы приведет к разрушению сеанса и сбросу корня к записи.
Однако, если пользователь входит в систему, нажимает на один из модулей в маршрутизаторе приложения (например, test1), THEN клики выходят из системы, мы получаем ошибку: ERROR [app-router] Ошибка: Маршрут не найден:/test1
Я пробовал:
1) сброс маршрутизатора перед установкой корня (т.е. this.router.reset())
2) навигация по дому перед установкой на корень (т.е. this.router. navigate (''))
3) ответы, предлагаемые здесь:
Aurelia router not working when resetting root
4) предложенные ответы здесь:
Aurelia clear route history when switching to other app using setRoot
Любые предложения были бы оценены, я рад перестроить код, если он принципиально не сработает.
спасибо, что Fabio - с тех пор определенно будет использовать GistRun над Plunker! – Naadof