есть ли способ очистить текущее представление маршрута и выполнить новый переход для другого маршрутизатора в ember?

#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 того, чтобы также избегать выполнения логики, когда пользователь покидает маршрут. Если вы инициируете другой переход, текущий переход автоматически прерывается. Это ожидаемое поведение. С какими проблемами вы сталкиваетесь в связи с этим? Не уверен, что вы имеете в виду, говоря » очистить мой текущий маршрутизатор «. Не могли бы вы уточнить?