在Ember数据中获取对象及其属性

时间:2013-07-22 17:28:58

标签: ember.js ember-data

我正在努力完成Ember数据中的一些最简单的任务 - 获取模型对象并读取其属性。

我只是想出一个模型的属性,你可以做App.Model.find(id).get('attr_name')

App.Model.find(id)不返回对象,而是返回类(Promise)。

获取物体的正确方法是什么?或者也许你没有得到对象,而只是getting or setting对象的属性呢?

2 个答案:

答案 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'))
});