gpt4 book ai didi

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

转载 作者:可可西里 更新时间:2023-11-01 02:18:33 26 4
gpt4 key购买 nike

我正在尝试从主干模型中完全删除一个属性。该模型被发送到一个不太灵活的 API,如果我在我应该发送的属性上发送额外的属性,它就会中断,所以我需要删除一个属性,使其不再存在。

我尝试了 model.unset,来自 this question ,但是当我打印出对象时,我试图删除的属性仍然在列表中,只是值为 null。

我需要该属性完全消失。

我的基本结构是:

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

最佳答案

问题是您错误地使用了 unset 的参数。 “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,而不是取消设置。

关于javascript - 从 Backbone.js 模型中完全删除属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13104548/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com