来自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对象的主要内容,如果未能解决你的问题,请参考以下文章