我的应用程序中有这个路径结构:
Profile.Router.map(function() {
this.resource('profile', { path: '/:user' }, function(){
this.route('followers');
});
});
我的/:user/followers
页面应该显示:user
的关注者列表。 profile.followers
的控制器设置为无限滚动 - 因此它具有curPage, resultsPerPage
等属性。
Profile.ProfileFollowersController = Ember.ArrayController.extend(InfiniteScroll.ControllerMixin,{
curPage: 1,
resultsPerPage: 20,
//other code for infinite scroll which increments curPage as user scrolls down
})
现在,由于控制器在emberjs中是单例,当我从/tom/followers
移动到/jin/followers
时,为/tom/followers
设置的无限滚动属性将被保留并应用于{{1也是。
例如。说我在/jin/followers
并向下滚动4页,/tom/followers
curPage
控制器的属性设置为4.现在当我移动到'profile.followers'
时,虽然模型钩子是route会返回jin的关注者列表,但会选择/jin/followers
为4,因为ember的控制器是单例,我已经在curPage
向下滚动到第4页。
这应该怎么处理?
以下是我的/tom/followers
路线:
profile.followers
答案 0 :(得分:1)
您可以使用route
的{{1}}挂钩。每次输入路线时都会触发此挂钩。
setupController
我做了一个jsbin演示: http://emberjs.jsbin.com/fiyetefeno/6/
您可以在此处阅读API文档: http://emberjs.com/api/classes/Ember.Route.html#method_setupController