我使用var items = store.find(‘model’);检索了一系列记录.返回的对象是RecordArray的一个实例,它包含几个条目,每个条目都有一个Ember对象,允许我在记录中获取和设置属性.
一切看起来都不错.
现在我需要将返回的对象提供给第三方库,当然我不能发送Ember对象,因为它需要普通对象.
我查看了相关材料的页面和页面,但我找不到任何通用的方法.我很确定有一个,因为这似乎是一个非常基本的用例,所以我没有
我想重新发明轮子并重新写下来.
Ember那里有设施吗?我如何从这个RecordArray中获得一个简单的数组,其中包含普通的JavaScript对象(我的意思是哈希)?
UPDATE
当然我可以做JSON.parse(JSON.stringify(recordArray));但是对于那些看起来效果不太好的大型对象而言.我想知道Ember是否提供了更直接的方式(具有更好的性能).
谢谢!
最佳答案 据我所知,没有ObjectSerializer,所以最简单的方法是使用JSONSerializer并使用JSON.parse创建对象.
items.map(function(e){
return JSON.parse(e.toJSON());
});
但是,您可以手动编写序列化逻辑.
function serializeToObject(model){
var fields = Ember.get(model.constructor, 'fields');
obj = {};
fields.forEach(function(fieldName, kindOfField){
obj[fieldName] = model.get(fieldName);
});
return obj;
}