I have a multi-step flow that the user can go through sequentially or jump straight to a section (if the sections in between are completed). I think this logic should be in the Route object. However, from within the controller, how do I access the route instance. For example, it would be ideal to be able to do something like this in the controller:
App.Flow = Em.ObjectController.extend({ submit: function(){ // Validation and XHR requests // ... // Go to the next step route.goToNextStep(); } }
From within a controller, you can access the router via this.get('target')
. So this.get('target').send('goToNextStep')
should work.
Like so:
App.Flow = Em.ObjectController.extend({ submit: function(){ // ... this.get('target').send('gotoNextStep'); } } App.FlowRoute = Ember.Route.extend({ events: { gotoNextStep: function(){ // ... this.transitionTo(routeName); } } }
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With