gpt4 book ai didi

ember-data - 如何在 ember-data 1.13 中使用 jsonapi 分页

转载 作者:行者123 更新时间:2023-12-01 13:50:18 27 4
gpt4 key购买 nike

目前是否有可能在 ember-data 1.13 中使用分页?

我有一个 jsonapi.org 兼容的 API,在顶级 links 对象中有一个 next 链接。我如何告诉我的存储/响应数组加载此页面?

我想做的是:

actions: {
loadMore() {
this.get('model').loadNextPage().then((data) => {
this.set('model', data);
});
}
}

谢谢

最佳答案

我的工作客户端破解:

我重写了适配器上的 ajaxOptions,以便可以使用 store.find('model', { loadNext: '/loadMoarLink' }) 直接访问 URL:

ajaxOptions(url, type, options) {
if(options && options.data && options.data.loadNext) {
url = options.data.loadNext;
delete options.data.loadNext
}
return this._super(url, type, options);
}

为了访问链接,我覆盖了适配器上的 normalizeResponse 以在元对象上写入链接:

normalizeResponse: function(store, primaryModelClass, payload, id, requestType) {
let links = payload.links;
let response = this._super(...arguments);
if(!get(response, 'meta')) {
set(response, 'meta', Ember.Object.create());
}
set(response, 'meta.links', links);
return response;
}

然后我可以从 setupController 访问元数据:

controller.set('meta', Ember.copy(this.store.metadataFor('model'), true));

并且总是查询下一个数据:

this.store.query('model', {
loadNext: this.get('controller.meta.links.next')
})

关于ember-data - 如何在 ember-data 1.13 中使用 jsonapi 分页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32336710/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com