gpt4 book ai didi

ember.js - Ember 路由模型 AdapterPopulatedRecordArray 与 RecordArray

转载 作者:行者123 更新时间:2023-12-04 12:58:37 39 4
gpt4 key购买 nike

任何人都可以对 ember/ember-data 的内部运作给出一个提示:

在路由模型函数中,如果我使用 contract.id 值查询注释,则 AdapterPopulatedRecordArray 对象将与对象一起返回。

路由返回 AdapterPopulatedRecordArray:

model: function() {
return this.store.find('comment', { contract: 1 });
},

但是,如果我不查询评论,则会随对象返回一个 RecordArray 对象。

路由返回 RecordArray:
model: function() {
return this.store.find('comment');
},

关键的区别在于 RecordArray 类型会实时更新模板的更改,而 AdapterPopulatedRecordArray 不会并且是不可变的。我的目标是使第一个查询中的对象实时更新和可变。

我将 Ember 1.2/1.1.2 和 latest-canary/beta3 Ember Data 与 Django Rest Framework Ember-data Adapter 一起使用。提前感谢您的任何建议!

最佳答案

怎么看Store#find works , this.store.find('comment', { contract: 1 })将调用 Store#findQuery。

docs for #findQuery

This method returns a promise, which is resolved with a RecordArray once the server returns.


// #_findQuery
return resolve(promise).then(function(payload) {
payload = serializer.extract(store, type, payload, null, 'findAll');
// ...
recordArray.load(payload);
return recordArray;

曾经 DS.AdapterPopulatedRecordArray#load被调用,内容属性被设置并且应该像一个 RecordArray
this.setProperties({
content: Ember.A(records),
isLoaded: true,
meta: meta
});

当您查看 this.store.find('comment', { contract: 1 }) 时,您是否还没有收到服务器响应? ?

关于ember.js - Ember 路由模型 AdapterPopulatedRecordArray 与 RecordArray,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20194169/

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