我正在努力在 Ember 数据中完成一些最简单的任务——获取模型对象并读取其属性。
我刚刚想出了获取模型的属性,你可以这样做App.Model.find(id).get('attr_name')
。
App.Model.find(id)
不返回对象,而是返回一个类(Promise)。
获取对象的正确方法是什么?或者您可能永远不会获取对象,而只是获取或设置对象的属性?
我正在努力在 Ember 数据中完成一些最简单的任务——获取模型对象并读取其属性。
我刚刚想出了获取模型的属性,你可以这样做App.Model.find(id).get('attr_name')
。
App.Model.find(id)
不返回对象,而是返回一个类(Promise)。
获取对象的正确方法是什么?或者您可能永远不会获取对象,而只是获取或设置对象的属性?
获取对象的正确方法是什么?
将成功函数传递给返回的模型承诺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());
});
以下是2013 年 9 月Ember 数据更新后的更新:
要在路由器或控制器中获取由其 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'))
});