【发布时间】:2014-12-01 11:34:41
【问题描述】:
我的应用中有这个路由结构:
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 设置的无限滚动属性将被保留并应用于 /jin/followers。
例如。假设我在/tom/followers 并向下滚动4 页,'profile.followers' 控制器的curPage 属性设置为4。现在当我移动到/jin/followers 时,虽然路线的模型挂钩会返回jin 的关注者列表, 但会选择 curPage 作为 4,因为 ember 的控制器是单例的,我已经向下滚动到 /tom/followers 的第 4 页。
这个应该怎么处理?
这也是我的profile.followers 路线:
Profile.ProfileFollowersRoute = Ember.Route.extend({
model: function(params) {
console.log("fetching followers model");
return Ember.$.getJSON('/'+this.modelFor('profile').user+'/followers?new=1');
},
});
【问题讨论】:
标签: ember.js