有没有办法在ember-data中重新加载整个商店?或者对内部物品进行分类?
它应该是这样的:
-
用户点击"add"按钮
添加了 -
新记录
-
商店被提交
-
用户被传输到列出项目的状态
-
他的新条目是正确的顺序
要做到这一点,我必须传输model.didCreate,它不应该是(它不是模型的角色!)或传输后刷新存储 .
有谁有类似的问题?
我正在使用ember-data revision 12
EDIT
我用了:
Ember.run.later(this, function(){
this.transitionToRoute('list');
}, 500);
给商店一些时间 . 但是,新的条目总是在列表的底部 . 我仍然需要重新加载整个商店或以某种方式对其进行排序 .
EDIT#2
所以我在这里做了很少的返工 . 在我的模板中,我使用:
{{#each arrangedContent}}
要使用已排序的数据,我在以下路线中:
App.AdsRoute = Ember.Route.extend({
model: function(){
return App.Ad.find();
},
sortProperties: ['id']
});
虽然不行 . 看起来Route不是ArrayController . 如果我从 ArrayController
进一步扩展 AdsController
,那么它也不起作用 .
1 回答
Ember ArrayControllers有几个选项可用于对内容进行排序:
http://emberjs.com/api/classes/Ember.ArrayController.html#property_sortAscending
您可以设置要排序的字段以及要使用的顺序 . 当您使用这些时,您将希望将视图绑定到arrangeContent而不仅仅是普通的旧内容 .
在我的应用程序中,我通常在记录持久化后返回列表状态:
我不确定商店是否有重装机制(个别记录),但如果我找到答案,我可以更新此响应 .