Is there a way to remove an attribute from a Backbone model?
Reason being is I pass up extra data on save to perform certain actions, but then that data gets automatically added to my model
The documentation says to not edit the model.attributes directly, so the only other method I see to do this would be to use the set method and set the attribute to null, but that is not ideal
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") }
I've also tried removing it from the attributes property, but it doesn't really remove it.
js collection remove is used to remove a model or an array of models from the collection. Syntax: collection. remove(models,options)
js Get model is used to get the value of an attribute on a model. Syntax: model. get(attribute)
Model contains dynamic data and its logic. It performs various types of action on the data like validation, conversion, computed properties, access control etc. 1. It extends Backbone.
Are you looking for model.unset
?
Remove an attribute by deleting it from the internal attributes hash. Fires a "change" event unless silent is passed as an option.
You can find the documentation here.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With