40

バックボーンモデルから属性を削除する方法はありますか?

理由は、特定のアクションを実行するために保存時に余分なデータを渡しますが、そのデータが自動的にモデルに追加されるためです

ドキュメントには、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 に答える