2016-03-26 2 views
1

Я играл с Angular2 Router, чтобы выяснить некоторые другие issues.Как отключить деактивацию маршрутизатора в Angular2?

я наткнулся на что-то подобное в Angular2 документации:

дезактивировать (инструкция: Инструкция): Promise
Удаляет содержимое розетки этого маршрутизатора и все дочерние розетки

Мне интересно, как я могу установить задержку и использовать новый класс в качестве провайдера, так что вся навигационная система Router имеет некоторую задержку (скажем, 1 с). Я хочу сделать это, чтобы я мог сдвинуть анимацию слайдов. Если бы я мог отложить деактивацию маршрута, я мог бы одновременно показывать оба маршрута (предыдущий и следующий).

+0

Выглядит как дубликат http://stackoverflow.com/questions/36234352/how-to-override-deactive-method-in-router/36234378#36234378 –

ответ

2

Вы можете реализовать CanDeactivate, но это необходимо для каждого компонента, который добавляется/удаляется маршрутизатором. Если вы вернете Promise, который оканчивается через 1 с, то удаление компонента задерживается на 1 секунду.

Я не знаю, существует ли более общий способ, например, использовать пользовательскую реализацию (подкласс) <router-outlet> или аналогичную.

+0

Я играл с ним, и он не активируется другое государство. Я скоро предоставит plnkr. – uksz

+0

Есть связанные открытые проблемы (пока не удалось найти его). Также идет работа по улучшению поддержки анимации https://github.com/angular/angular/pull/6768 –

Смежные вопросы