40

有没有办法从Backbone模型中删除属性?

原因是我在保存时传递了额外的数据以执行某些操作,但随后这些数据会自动添加到我的模型中

文档说不要直接编辑 model.attributes,所以我看到的唯一其他方法是使用set方法并将属性设置为 null,但这并不理想

var myModel = new Model()
myModel.save({name:'Holla', specialAttr:'Please Remove me'})
myModel.set({tempAttr:null})

if(myModel.attributes['specialAttr'] == null){
    alert("Model does not have a specialAttr")
}

我也尝试过从属性属性中删除它,但它并没有真正删除它。

4

1 回答 1

90

你在找model.unset吗?

通过从内部属性哈希中删除属性来删除它。除非将静音作为选项传递,否则触发“更改”事件。

您可以在此处找到文档。

于 2012-05-15T17:26:49.400 回答