微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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.

原文地址:https://www.jb51.cc/js/153840.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐