Удалить атрибут из модели 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", если в качестве опции не передается молчание.

Вы можете найти документацию здесь.

Другие вопросы по тегам