首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >成员-使用元信息获取实时记录

成员-使用元信息获取实时记录
EN

Stack Overflow用户
提问于 2016-06-10 10:58:57
回答 2查看 476关注 0票数 0

我已经创建了一个注释模型,并试图获取所有的注释记录。但我需要一个元信息总注释,这是一个单独的属性外部评论数组。

我正在使用Ember store.query从rest服务中获取记录(,我尝试了store.findAll,但它只给了我记录数组的注释,以保证响应)。可以修改吗?)。在使用()时,我将获得带有总注释(Meta)记录,但是当我们保存新记录时,该记录数组是不更新的。

在做了一些分析之后,我发现我们可以使用filter来加载活动记录,但是filter现在在Ember中被废弃了(Ember 2.5.1)。从文档中可以清楚地看到,我们可以使用加载实时记录。但是我很困惑地使用这个副词(就像提到它有一些内存泄漏问题一样)和不确定我是否会从响应获得元信息。是否有其他方法从响应中获取具有元信息的实时记录。

任何人都请提出解决办法

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-06-14 04:02:29

在进行了一些分析之后,我找到了一个使用store.findAll()访问元数据的解决方案。我们可以在响应中使用typeMapFor来获取响应中的元信息。

代码语言:javascript
复制
store.typeMapFor(response.type)

下面是完整代码,

代码语言:javascript
复制
store.findAll("comment").then(function(response) {
    var meta = store.typeMapFor(response.type);

    // your meta info will be in meta.metadata
    // var totalComments = meta.metadata.totalComments;
});

响应记录数组是liveRecords,如果我们保存新记录,它将自动更新。

代码语言:javascript
复制
store.query("comment").then(function(response) {
    var meta = response.get("meta");
    // We will get meta like this but reponse record array is not a liveRecords
});

从store.query()获得的响应只是一个recordArray (而不是liveRecords),它不会使用新记录进行更新

票数 0
EN

Stack Overflow用户

发布于 2016-06-14 00:53:42

如果您想要填充作为新记录更新的所有记录的数组,则可以使用peekAll,它返回一个活动记录数组。

添加了代码示例:

代码语言:javascript
复制
loadRecords: function (){
    this.set('allComments', store.peekAll('comment'));
    this.store.findAll('comment');
},

recordCount: Ember.computed.alias('allComments.length')
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37746529

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档