backbone里面的set trigger坑

广告位招租
扫码页面底部二维码联系

backbone里面set原本会触发绑定【访问 www.tangshuang.net 获取更多精彩内容】【版权所有,侵权必究】的change事件,不过如果使用$.ex【访问 www.tangshuang.net 获取更多精彩内容】【原创内容,转载请注明出处】tend(true深拷贝一个数据,但是没未经授权,禁止复制转载。【访问 www.tangshuang.net 获取更多精彩内容】有实质性改变数据的值,再重新set一下,【原创内容,转载请注明出处】未经授权,禁止复制转载。是不会触发change事件的。

未经授权,禁止复制转载。转载请注明出处:www.tangshua【版权所有,侵权必究】【本文首发于唐霜的博客】ng.net
let test = new Backbone.Model()
let data = {
  name: 'yoyo',
}
test.on('change:data', (e, data) => console.log(data))
test.set('data', data) // triggerlet 
newdata = $.extend(true, {}, data)
test.set('data', newdata) // not trigger

使用的时候应该要小心,一不小心就得不到自【版权所有,侵权必究】转载请注明出处:www.tangshuang.net己预期的效果。

未经授权,禁止复制转载。【版权所有】唐霜 www.tangshu原创内容,盗版必究。著作权归作者所有,禁止商业用途转载。ang.net【访问 www.tangshuang.n原创内容,盗版必究。【本文受版权保护】et 获取更多精彩内容】本文版权归作者所有,未经授权不得转载。