Reputation: 229
Can't get back button work correctly in this example. Always returning to database state.
App.Router = Ember.Router.extend({
enableLogging: true,
root: Ember.Route.extend({
index: Ember.Route.extend({
route: '/',
redirectsTo: 'databases'
})
}),
databases: Ember.Route.extend({
route: '/databases',
show: Ember.Route.transitionTo('database'),
connectOutlets: function(router) {
var applicationController = router.get('applicationController');
applicationController.connectOutlet('databases');
App.router.get('databasesController').loadDatabases();
}
}),
database: Ember.Route.extend({
route: "/databases/:db_name",
connectOutlets: function(router, db) {
var applicationController = router.get('applicationController');
applicationController.connectOutlet('database', db);
}
})
})
Link to action 'show': {{ action show db href=true }}
STATEMANAGER: Entering root ember-1.0.0-pre.2.min.js:18 STATEMANAGER: Sending event 'navigateAway' to state root. ember-1.0.0-pre.2.min.js:18 STATEMANAGER: Sending event 'unroutePath' to state root. ember-1.0.0-pre.2.min.js:18 STATEMANAGER: Sending event 'routePath' to state root. ember-1.0.0-pre.2.min.js:18 STATEMANAGER: Entering root.index ember-1.0.0-pre.2.min.js:18 STATEMANAGER: Entering databases
Then I am clicking a 'show' action
STATEMANAGER: Sending event 'show' to state databases. ember-1.0.0-pre.2.min.js:18 STATEMANAGER: Entering database
Now pressing browser's back button
STATEMANAGER: Sending event 'navigateAway' to state database. ember-1.0.0-pre.2.min.js:18 STATEMANAGER: Sending event 'unroutePath' to state database. ember-1.0.0-pre.2.min.js:18 STATEMANAGER: Sending event 'routePath' to state database.
Why it's state database? I guess it's because of transitionTo('database')
in show action. What is the golden path to successfully display a list of items, click one and get detailed view, than click "back' and return to list view?
Upvotes: 0
Views: 660