如何检查本地存储中是否已存在Ember Data模型实例?

时间:2013-06-12 01:47:26

标签: ember.js ember-data

使用Ember Data,我如何测试本地存储中是否已存在模型实例?

假设名为App.User = DS.Model.extend({ ... })的Ember数据模型类型。

someUser = App.User.find(someId)可能会也可能不会向远程服务器发出XHR,具体取决于本地存储中是否已存在someId的记录。在发布XHR之前,我想首先检查本地商店是否存在这样的记录。

2 个答案:

答案 0 :(得分:6)

答案 1 :(得分:3)

虽然不如针对特定id挖掘商店的缓存那样高效,但DS.Model附带了all()方法,在这种情况下该方法很干净且有用。 App.User.all()返回包含所有已知User条记录的已过滤数组,因此检查具有给定id的记录是否存在的一种方法如下:

var isLoaded = App.User.all().some(function(user) {
  return user.get('id') === someId;
});