#javascript #ember.js #ember-router #ember-controllers
Вопрос:
В моем приложении ember у меня есть маршруты, подобные этому parent-route -> child-route -> leaf-route
, в крючке моего листового маршрута willTransition
, я прерву переход на основе некоторого условия. кроме того, я храню объект приложения ember в глобальной переменной. таким образом, я могу получить объект маршрутизатора из любого места, используя это EmberApp.__container__.lookup("router:main");
, и выполнить переход с помощью .transitionTo(another-parent-route)
. пока я нахожусь в leaf-route
поле зрения, этот переход не сработает, потому что его willTransition
крючок прервет переход. Поэтому мне нужно очистить мой текущий маршрутизатор в объекте маршрутизатора и выполнить новый переход. возможно ли это? Как я могу этого достичь? пожалуйста, предложите мне любое решение, которое поможет моему делу.
Комментарии:
1. По какой причине вы не используете
RouterService
общедоступный API? Также вы можете использоватьactivate
метод маршрута вместоwillTransition
того, чтобы также избегать выполнения логики, когда пользователь покидает маршрут. Если вы инициируете другой переход, текущий переход автоматически прерывается. Это ожидаемое поведение. С какими проблемами вы сталкиваетесь в связи с этим? Не уверен, что вы имеете в виду, говоря » очистить мой текущий маршрутизатор «. Не могли бы вы уточнить?