我有一些困难重新加载我的馀烬RESTful模型,我不知道为什么。从概念上讲,我想做的是.http://jsbin.com/EfuBiNo/4/edit
该代码与我的代码之间唯一的区别是,我使用的不是FixtureAdapter,而是RESTAdapter。不幸的是,重新加载我的RESTful模型会导致DS.RecordArray中的记录数增加一倍。因此,您可以看到控制台正在记录(每次重新加载) RecordArray中有两条记录。
当我用我的RestAdapter运行这个程序时,计数就会变成2...4...8...16....etc。所以我不知道为什么每次都会翻一番,但是如果有人对为什么--或者更好的,重新载入这些记录的方式--有任何见解的话,我会非常感激的。谢谢。
发布于 2013-10-16 19:28:20
如果在加载记录之后需要刷新记录集合,则可以执行以下操作:
App.ThingsRoute = Ember.Route.extend({
model: function () {
return this.store.find('thing');
},
actions: {
refreshThings: function () {
var controller = this.controller;
this.store.find('thing').then(function (things) {
controller.set('content', things);
});
}
}
});这将只需再次获取所有thing,并在承诺解决时将记录数组设置为控制器上的内容。如果返回的项目已经在您的商店中编目( in已经存在),那么您将不会有大量重复的记录挂在周围,只会更新一些东西。如果有以前不知道的新记录,那么现在就可以在ThingsController上得到这些记录了。
如果您正在执行某种类型的查询,这也很有用:
this.store.find('thing', {color: 'red'})https://stackoverflow.com/questions/19409676
复制相似问题