我正在努力完成Ember数据中的一些最简单的任务 - 获取模型对象并读取其属性。
我只是想出一个模型的属性,你可以做App.Model.find(id).get('attr_name')
。
App.Model.find(id)
不返回对象,而是返回类(Promise)。
获取物体的正确方法是什么?或者也许你没有得到对象,而只是getting or setting对象的属性呢?
答案 0 :(得分:3)
获取物体的正确方法是什么?
将成功函数传递给find(id)
返回的模型承诺:
App.Model.find(1).then(function(record) {
console.log('Found record: ', record.toString());
console.log('Inspecting record...', Em.inspect(record));
console.log('Serializing record...', record.serialize());
});
答案 1 :(得分:0)
以下是2013年9月Ember Data updates之后的更新:
要获取路由器或控制器中由其ID标识的对象的属性,请执行以下操作:
this.store.find('model', 'insert_id_of_obj').then(function(obj){
console.log(obj.get('insert_attribute_name'))
});
如果要在控制台中测试它,请执行以下操作:
App.__container__.lookup('store:main').find('model', 'insert_id_of_obj').then(function(obj){
console.log(obj.get('insert_attribute_name'))
});