store.push 没有反映在带有 ember-cli-pagination 的模板上
store.push not reflecting on template with ember-cli-pagination
我是 Ember.js 的新手,我正在尝试在收到 ajax 请求后向商店添加对象。
问题是如果我使用ember-cli-pagination.
如果我在模型中使用 this.store.findAll
,它可以工作,但是当我使用 this.findPaged
时,它不会。
我正在使用 ember-inspector 并且对象出现在商店中,只是没有出现在浏览器中。
我的代码:
import Ember from 'ember';
import RouteMixin from 'ember-cli-pagination/remote/route-mixin';
export default Ember.Route.extend(RouteMixin, {
actions: {
create: function(email) {
let adapter = Ember.getOwner(this).lookup('adapter:application');
let url = adapter.buildURL('billing/delivery-files');
let store = this.get('store');
let modelName = 'billing/delivery-file';
return adapter.ajax(url, 'POST', {
email: email
}).then(function(data) {
var normalized = store.normalize(modelName, data.object);
store.push(normalized);
});
}
},
model(params) {
return this.findPaged('billing/delivery-file',params); //does not work
// return this.store.findAll('billing/delivery-file'); //works
}
});
尝试了此 issue 中的解决方案,但根本不起作用。
我错过了什么?
想通了!
推送到商店后,我需要将对商店对象的引用推送到分页数组。不知道为什么,但它就像一个魅力!
model.content.pushObject(pushedRecord._internalModel);
在我的例子中,我希望它位于数组的第一个位置,所以我这样做了:
model.content.insertAt(0, pushedRecord._internalModel);
我是 Ember.js 的新手,我正在尝试在收到 ajax 请求后向商店添加对象。
问题是如果我使用ember-cli-pagination.
如果我在模型中使用 this.store.findAll
,它可以工作,但是当我使用 this.findPaged
时,它不会。
我正在使用 ember-inspector 并且对象出现在商店中,只是没有出现在浏览器中。
我的代码:
import Ember from 'ember';
import RouteMixin from 'ember-cli-pagination/remote/route-mixin';
export default Ember.Route.extend(RouteMixin, {
actions: {
create: function(email) {
let adapter = Ember.getOwner(this).lookup('adapter:application');
let url = adapter.buildURL('billing/delivery-files');
let store = this.get('store');
let modelName = 'billing/delivery-file';
return adapter.ajax(url, 'POST', {
email: email
}).then(function(data) {
var normalized = store.normalize(modelName, data.object);
store.push(normalized);
});
}
},
model(params) {
return this.findPaged('billing/delivery-file',params); //does not work
// return this.store.findAll('billing/delivery-file'); //works
}
});
尝试了此 issue 中的解决方案,但根本不起作用。
我错过了什么?
想通了!
推送到商店后,我需要将对商店对象的引用推送到分页数组。不知道为什么,但它就像一个魅力!
model.content.pushObject(pushedRecord._internalModel);
在我的例子中,我希望它位于数组的第一个位置,所以我这样做了:
model.content.insertAt(0, pushedRecord._internalModel);