У меня многоступенчатый поток, который пользователь может пройти последовательно или перейти прямо к разделу (если разделы между ними завершены). Я думаю, что эта логика должна быть в объекте Route. Однако изнутри контроллера, как мне получить доступ к экземпляру маршрута. Например, было бы идеально, чтобы иметь возможность сделать что-то вроде этого в контроллере:
App.Flow = Em.ObjectController.extend({
submit: function(){
// Validation and XHR requests
// ...
// Go to the next step
route.goToNextStep();
}
}
РЕШЕНИЕ (как было предложено Майком):
App.Flow = Em.ObjectController.extend({
submit: function(){
// ...
this.get('target').send('gotoNextStep');
}
}
App.FlowRoute = Ember.Route.extend({
events: {
gotoNextStep: function(){
// ...
this.transitionTo(routeName);
}
}
}