2016-03-09 3 views
1

У меня есть вложенные маршруты, определенные в моем приложении Ember (Ember 2), как показано ниже;Ember transitionTo route model hook не называется

this.route('main', function() { 
    this.route('step1', function(){ 
     this.route('step1A');  
    }); 
}); 

Теперь я хочу перейти к детскому маршруту & хотите, чтобы вызвать «модель» крюк Так что я

var routeName = 'main.step1.step1A'; 
self.transitionTo(routeName); //Tried Option1 
self.get('controller').transitionToRoute(routeName); //Tried Option2 

Мой вопрос заключается в то время как я вижу изменения URL, то «модель 'hook не срабатывает.

Как заставить крюк «модели» запускаться?

Согласно документу, я думаю, что правило предназначено для маршрутов с динамическими сегментами. Но мой маршрут - простой маршрут.

+0

Я знаю, что это не самый лучший ответ, но что, если вы загрузили вашу модель 'setupController()'? Он всегда запускается и до тех пор, пока вы не сможете сначала отобразить данные и обновить шаблон позже, это может быть одна альтернатива. – Pavol

+0

Ну ... по каким-то странным причинам даже установочный крючок setupController не выполняется! – testndtv

+0

Что делать, если вы перешли на маршрут «workflow.step1.step1A», используя параметр (простой параметр, например, строка, а не объект), который заставил бы ember ударить 'model()' hook? Конечно, вы не должны использовать его. – Pavol

ответ

0

Я наткнулся на ту же проблему сегодня. Я придумал следующее обходной:

this.transitionTo('main.step1.step1A'); 
this.get('router._routerMicrolib.currentHandlerInfos').findBy('name', 'main.step1.step1A').handler.refresh(); 
Смежные вопросы