1) 将模型数据设置为一个值model.set({state : 'wa'})
2)将模型数据设置为null model.set({state : null})
3) 将模型数据设置为第一个值model.set({state : 'wa'})
当您在将模型数据设置为 null 之前将其设置为先前的值时,不会触发更改事件。如果我将示例更改为在步骤 1 中显示 model.set({state : 'ca'})
,它将触发所有三个集合的更改事件。在此示例中,仅针对步骤 1 和步骤 2 触发了两个更改事件。
当将值设置为 null 之前的上一个值时,为什么主干不会触发事件?
附注
我刚刚检查了 model.previousAttrbutes()
以查看将值设置为 null 时它是否不会更新。确实如此。因此,为什么不触发更改事件仍然没有意义。
最佳答案
为了解决这个问题,我简单地使用了unset()
model.unset('state',{silent: true});
关于javascript - 当值与 null 设置之前的前一个值相同时,Backbone.js 更改事件不会触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15336801/