gpt4 book ai didi

backbone.js - {无声 :true} in Backbone 1. 0 版本

转载 作者:行者123 更新时间:2023-12-04 00:47:27 28 4
gpt4 key购买 nike

我正在将主干版本从 0.9.2 更新到 1.0,但遇到了问题。

模型未正确更新。它有延迟。以前我下面的代码工作得很好:

this.model({ attrib: true},{silent:true});

但更新后我删除了 {silent:true}一切正常。模型正确更新。

我在 Backbonejs.org 上读过类似的内容

在更改时传递 {silent:true} 将不再延迟单个“change:attr”事件,而是完全静音。

我不完全明白这句话的意思。

最佳答案

关于您引用的文档的含义:

当你在做的时候(我猜 this.model 是一个错误)this.set({attr: value}, {silent: true}) ,所有更改事件都只是 延迟 直到下一次无声的变化。也就是说,如果你在做 this.trigger('change') (从 jQuery/Backbone 的最新版本开始,this.change() 不再起作用)或 this.set('anotherAttr', anotherValue) , change:attr事件将被触发。

从 Backbone 1.0 开始,这种行为已经改变。当您使用静音标志时,您是 不耽误 change:attr事件结束了,你是 正在关闭 它完全关闭。

所以基本上,用一段代码来说明:

myModel.listenTo(myModel, 'change:attr', function() {alert();});
myModel.set('attr', true, {silent: true});
myModel.trigger('change');
// or myModel.set('anotherAttr', true);

将在 1.0 之前的 Backbone 中发出警报,但不会在 Backbone 1.0 中发出警报。

关于backbone.js - {无声 :true} in Backbone 1. 0 版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16056145/

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