Удалить атрибут из модели Backbone.js
Есть ли способ удалить атрибут из модели Backbone?
Причина в том, что я передаю дополнительные данные о сохранении для выполнения определенных действий, но затем эти данные автоматически добавляются в мою модель
Документация гласит, что нельзя редактировать model.attributes напрямую, поэтому единственный другой метод, который я вижу, чтобы сделать это, это использовать метод set и установить атрибут в нуль, но это не идеально
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")
}
Я также попытался удалить его из свойства атрибутов, но на самом деле он не удаляется.
1 ответ
Решение
Вы ищете model.unset
?
Удалите атрибут, удалив его из хэша внутренних атрибутов. Вызывает событие "change", если в качестве опции не передается молчание.
Вы можете найти документацию здесь.