backbone视图的model事件被重复绑定的问题

发布于 2022-08-31 09:19:52 字数 552 浏览 17 评论 0

最近在用backbone开发项目时,遇到在model的change事件被重复绑定的问题。我在来回切换几次view(页面)的时候,change就会被重复绑定几次。
代码如下:

 var ItemView = Backbone.View.extend({
     tagName: 'div',
     className:'acc-item',
     initialize:function(opts){
        this.template = opts.mainView.itemTpl;
        this.dayView = opts.dayView;
        this.listenTo(this.model, 'destroy', this.remove);
        this.listenTo(this.model,'change',this.render);
     },
     render:function(){
        return this;
     },
     remove:function(){

    } 
});

请教一下,该怎么解决

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

野生奥特曼 2022-09-07 09:19:52

解决问题了,在initialize里面写this.model.off('change')和this.model.off('destroy')即可!

天生の放荡 2022-09-07 09:19:52

Backbone View 自身有 remove 方法, 被楼主覆盖掉了.
看一下里边做了什么: http://backbonejs.org/docs/backbone.html#section-136

jsremove: function() {
  this.$el.remove();
  this.stopListening();
  return this;
},
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文