javascript – 完全从Backbone.js模型中删除属性

前端之家收集整理的这篇文章主要介绍了javascript – 完全从Backbone.js模型中删除属性前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试从骨干模型中完全删除一个属性.该模型正在发送到一个不是非常灵活的API,如果我发送我应该发送的其他属性,它将会中断,所以我需要删除一个属性,使其不再存在.

我试过model.unset,从this question,但是当我打印出对象时,我想要删除属性仍然列出,只是一个值为null.

我需要的属性才能完全消失.

我的基本结构是:

model.unset("AttrName","silent");

解决方法

问题是您正在使用参数取消设置不正确. “静音”应该是 options hash的一部分,而不是单独的参数.这样做:
model.unset("AttrName",{ silent: true });

奇怪的行为的原因可以从annotated source

unset: function(attr,options) {
  (options || (options = {})).unset = true;
  return this.set(attr,null,options);
},

unset方法假定其options参数是一个对象,并尝试创建或修改它,然后将其传递给set方法.如果你传递一个字符串,那么代码的无意义的效果是将属性设置为null,而不是将其设置为null.

猜你在找的JavaScript相关文章