【问题标题】:Ember Data: Retrieving Record Using store.get undefinedEmber 数据:使用 store.get 检索记录 undefined
【发布时间】:2014-09-11 16:21:04
【问题描述】:

在我进入这个问题之前,我应该指出我不想使用 find 操作从数据存储中检索记录,我试图只访问本地存储而不访问后端。

好的,顺便说一句,我正在查看 ember 文档,其中说明了以下内容: /** 更新商店中的现有记录。不同于推, update 会将新的数据属性与现有的数据属性合并 特性。这使得与记录子集一起使用是安全的 属性。此方法需要标准化数据。

update is useful if your app broadcasts partial updates to
records.

App.Person = DS.Model.extend({
  firstName: DS.attr('string'),
  lastName: DS.attr('string')
});

store.get('person', 1).then(function(tom) {
  tom.get('firstName'); // Tom
  tom.get('lastName'); // Dale

  var updateEvent = {id: 1, firstName: "TomHuda"};
  store.update('person', updateEvent);

  tom.get('firstName'); // TomHuda
  tom.get('lastName'); // Dale
});

现在..我的问题是当我尝试这样做时:

store.get('person', 1).then(function(tom)

即使当我使用 Ember Inspector 时,get 仍返回 undefined,我可以看到数据存储中的记录。

我尝试在商店中查询的任何对象都会发生这种情况。

如何使用 store.get api?

【问题讨论】:

  • 为了在上面的例子中使用 store.update,它只在更新存储中已经存在的记录时才有效,而不是在没有提交的情况下推送到存储中的记录。我会清理问题以参考与get相关的问题。

标签: ember.js ember-data


【解决方案1】:

store 的get 方法继承自Ember.Object,意味着它与记录完全无关。您正在寻找商店的getById 方法。

【讨论】:

  • 感谢您解释差异。查看文档有点误导,因为似乎可以使用 get 操作。感谢您解决这个问题!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-07-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-04-09
相关资源
最近更新 更多