我有一个带有hasMany集合的模型,我想在给定对象的ID的情况下确定该集合中是否存在对象。
var searchFor = "someid";
var filtered = parent.get('children').filter(function (item) { return item.get('child.id') == searchFor; });
var exists = filter.get('length') > 0;
但是,这会在每次迭代过滤时向child
端点发出远程请求,这是不必要的,因为它已经知道了ID。有什么方法可以解决这个问题吗?
答案 0 :(得分:2)
我一直在处理同样的问题。我提出的最好的事情是:
var searchFor = "someid";
var filtered = parent.get('children').filter(function (item) {
return item.get('data').child.id == searchFor;
});
var exists = filtered.get('length') > 0;
这有效(即没有提出请求),但感觉不对。这适用于Ember 1.4.0和Ember Data 1.0.0-beta.3。