从Backbone.js模型中删除属性

时间:2012-05-15 17:17:10

标签: javascript backbone.js

有没有办法从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")
}

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

1 个答案:

答案 0 :(得分:87)

您在寻找model.unset吗?

  

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

您可以找到文档here