2

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

我刚刚想出了获取模型的属性,你可以这样做App.Model.find(id).get('attr_name')

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

获取对象的正确方法是什么?或者您可能永远不会获取对象,而只是获取或设置对象的属性?

4

2 回答 2

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());
});
于 2013-07-22T17:44:32.193 回答
0

以下是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'))
});
于 2013-09-12T01:00:33.013 回答