有没有办法在ember-data中重新加载整个商店?或者对里面的物品进行分类?
它应该是这样的:
要做到这一点,我必须在model.didCreate中传输,这不应该是(它不是模型的角色!)或传输后刷新存储。
有人有过类似的问题吗?
我正在使用ember-data revision 12
修改
我用过:
Ember.run.later(this, function(){
this.transitionToRoute('list');
}, 500);
给商店一些时间。但是,新的条目总是在列表的底部。我仍然需要重新加载整个商店或以某种方式对其进行排序。
修改#2
所以我在这里做了很少的返工。在我的模板中,我使用:
{{#each arrangedContent}}
要使用已排序的数据,请使用以下路线:
App.AdsRoute = Ember.Route.extend({
model: function(){
return App.Ad.find();
},
sortProperties: ['id']
});
虽然不行。看起来Route不是ArrayController。如果我从AdsController
延伸了额外的ArrayController
,那么它就无法正常工作。
答案 0 :(得分:1)
Ember ArrayControllers有一些用于对内容进行排序的选项:
http://emberjs.com/api/classes/Ember.ArrayController.html#property_sortAscending
您可以设置要排序的字段以及要使用的顺序。当您使用这些时,您将希望将视图绑定到arrangeContent而不仅仅是普通的旧内容。
在我的应用程序中,我通常会在记录持久化后返回列表状态:
var observer, _this = this;
observer = function(target, path) {
if (target.get(path) === 'saved') {
target.removeObserver(path, null, observer);
return _this.get('target.router').transitionTo('apps.index');
}
};
我不确定商店是否有重装机制(个别记录可以),但如果我找到答案,我可以更新此回复。