首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何在视图中使用Backbone.EventBinder

如何在视图中使用Backbone.EventBinder
EN

Stack Overflow用户
提问于 2012-12-03 23:17:49
回答 1查看 285关注 0票数 4

参考Backbone.EventBinder上的this帖子,我迷失了如何在Backbone视图中使用EventBinder (这是最流行的用例)。仍然建议像this帖子中建议的那样,向Backbone.View原型添加close()方法,向视图添加onClose()方法吗?另外,在哪里存储绑定器对象,以便在关闭时调用binder.unbindAll()?关闭子视图的推荐方式是什么(例如,在相关模型上具有子视图的集合上的父视图)。一个有效的示例将是对Backbone.EventBinder项目的一个很好的补充。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-12-04 22:32:45

是的,您仍然应该将close方法添加到视图中。EventBinder并没有否定僵尸帖子所说的任何内容。相反,它使解除视图中所有事件的绑定变得更容易,从而有助于自动化许多过程。

请看一下Marionette.View源代码,了解它的用法:

https://github.com/marionettejs/backbone.marionette/blob/master/src/marionette.view.js#L9 https://github.com/marionettejs/backbone.marionette/blob/master/src/marionette.view.js#L16 https://github.com/marionettejs/backbone.marionette/blob/master/src/marionette.view.js#L97

这是为你处理的。

如果您想将此代码添加到您自己的视图中,则很容易做到:

代码语言:javascript
代码运行次数:0
运行
复制
MyView = Backbone.View.extend({

  initialize: function(){

    // add the event binder
    this.eventBinder = new Backbone.EventBinder();

    // bind some stuff
    this.eventBinder.bindTo(this.model, "change:foo", this.doStuff, this);
  },

  close: function(){
    // ... other stuff

    this.eventBinder.unbindAll();
  }
});
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13686165

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档