删除模型仅存在于本地Ember的记录

时间:2015-02-23 11:51:13

标签: ember.js delete-record

我有我创建的这条记录,其模型仅存在于本地(不在api中)。 该模型如下:

TM.Vdpmodel=DS.Model.extend({
type:DS.attr(),
description:DS.attr(),
vds:DS.attr(),    
});

我使用此模型在JSON中创建对象数组(vdps)。见下文。

{"vdps":[{"type":"ssdfdfg","description":"fhfgh","vds":[{"type":"fghgh","example":"jghhgj"},{"type":"gjghj","example":"ghjghj"},{"type":"ghjghj","example":"ghjghj"}]}],"asset_usage":[]}

我使用

创建它们
TM.obj.vdp.pushObject(this.store.createRecord('vdpmodel',{
            type:this.get("vdp11"),
            description:this.get("vdp12"),
            vds:TM.vdobj.vd.objectsAt([this.get("vdcount"),this.get("vdcount")+1,this.get("vdcount")+2])   
})); 

此记录仅存储在本地。现在我想从这个商店中删除一个类型值为“abc”的记录。我该怎么做呢?请记住,记录目前仅存在于本地。

我尝试了以下内容:

var records=this.store.filter('vdpmodel',function(data){
  return data.get('type')==="abc";
});  
records.forEach(function(record){
  record.deleteRecord();
});         

但记录从未填充过。知道我在这里做错了吗?

1 个答案:

答案 0 :(得分:0)

我设法通过对store.all

的结果使用filterby来解决这个问题
var records = this.store.all('vdpmodel'); 
var filteredRecords=records.filterBy("type","abc");
filteredRecords.forEach(function(data){
     data.deleteRecord();
});