3

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

假设一个名为的 Ember Data 模型类型App.User = DS.Model.extend({ ... })

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

4

2 回答 2

6

使用DS.Store.hasRecordForId(type, id).

于 2014-06-19T18:15:44.587 回答
3

虽然不如为特定的 挖掘商店的缓存有效,但在这种情况下提供了一种干净且有用idDS.Model方法。返回一个包含所有已知记录的过滤数组,因此检查给定记录是否存在的一种方法如下:all()App.User.all()Userid

var isLoaded = App.User.all().some(function(user) {
  return user.get('id') === someId;
});
于 2013-06-12T07:29:48.867 回答