从Backbone.js模型中删除属性

Mat*_*odd 39 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")
}
Run Code Online (Sandbox Code Playgroud)

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

Vin*_*lia 89

你在找model.unset

通过从内部属性哈希中删除属性来删除该属性.除非作为选项传递静默,否则触发"更改"事件.

你可以在这里找到文档.

  • 为了公平对待自己,我认为骨干文档应该按字母顺序列出方法 (6认同)