来自ember数据存储的ember map对象

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了来自ember数据存储的ember map对象相关的知识,希望对你有一定的参考价值。

我试图在模型钩子中映射一个对象。我有海市蜃楼提供的这个对象。

let temp = {"users": [
    {
        "id":1,
        "forename":"Test",
        "surname":"Name"
    },
    {
        "id":2,
        "forename":"Hans",
        "surname":"Solo"
    },
    {
        "id":3,
        "forename":"Peter",
        "surname":"Pan"
    }
]

};

在模型钩子中我想使用这个:

return this.get('store').findAll('user').then(x => x.map(x => x.id + x.forename + x.surname));

我得到这个:

1 [object Object] [object Object] 2 [object Object] [object Object] 133000 [object Object] [object Object] 3 [object Object] [object Object]

我在模板中使用它(目前仅用于测试是否有效):

{{#each model as |SingleUser|}}
{{SingleUser}}
{{/each}}

我试图只是映射到ID,这很好。此外,如果我将直接在模型钩子中声明temp,它工作正常。是否有任何阻碍我的地图的承诺?

我需要这个工作,因为我正在实现一个余烬电源选择多选,我想向用户显示id,forename和surename。

答案

Ember用Ember Object包装商店中的所有POJO。与POJO不同,Ember Objects有getter / setter,您应该像以下一样使用它:

obj.get('property');
obj.set('property', 'value');

您应该将代码更改为:

.then(x => x.map(x => x.get('id') + x.get('forename') + x.get('surname')));

以下是关于官方指南中的getter和setter的几句话:Ember Guides(在页面底部)。您还可以阅读get / set API(指南文章中的API的URL)。

另外,看看computed properties。可能,这将适用于您的情况。

以上是关于来自ember数据存储的ember map对象的主要内容,如果未能解决你的问题,请参考以下文章

覆盖 DS.Store ember-cli

使用 Ember.js 按模型类型/对象值选择视图模板

没有 Ember 数据的 Ember

Ember:关系链接相关数据未加载/消失

css Ember.js模型生成器 - 将JSON对象反向工程为Ember数据模型

Ember笔记