Friday, 6 September 2013

Ember: setting a controller's property in a route not working

Ember: setting a controller's property in a route not working

I have a user model and a user hasMany 'recordings'. On the user page, I
would like to be able to paginate the user's recordings. My router looks
like this:
App.Router.map ->
@.resource 'user', path: '/:user_id', ->
@.route 'page', path: '/page/:page_id'
I want to set the selectedPage property in the UserPageRoute like so (the
page number is hard-coded for simplicity here):
App.UserPageRoute = Ember.Route.extend
setupController: ->
@.controllerFor('recordings').set('selectedPage', 3)
That seems to work. I can inspect the property while debugging my route
code and the property seems set:
@.controllerFor('recordings').get('selectedPage') => 3
If I visit a user page directly (/user/25/page/3) and debug the
RecordingsController, selectedPage no longer seems set.
@.get('selectedPage') => undefined
Here is a jsbin illustrating the issue: http://jsbin.com/owudUgI/20/edit

No comments:

Post a Comment