【问题标题】:Delegating events委派活动
【发布时间】:2012-06-11 09:42:51
【问题描述】:

我有整个集合的主干视图(“可点击”类别的列表)。我可以在视图的每个项目上委托事件,以便我可以找到点击了哪个类别?

【问题讨论】:

    标签: backbone.js backbone-views


    【解决方案1】:

    这里有一篇文章可能会有所帮助。基本上,您在项目视图中使用 data-* 属性来存储然后检索单击的项目的 id:

    如果您更愿意直接使用代码,here's the jsFiddle 在帖子中用于演示。希望对您有所帮助。

    【讨论】:

      【解决方案2】:

      我无法回答您的问题(不,我认为),但想分享我的方法:通用集合视图组件,它使用其他视图呈现集合。它可以像下面的示例一样简单,也可以更复杂(监听添加/删除/重置事件并做出相应的反应)。

      var CollectionView = Backbone.View.extend({
          render : function() {
              this.options.collection.each(function(model) {
                  this.$el.append((new this.options.view({model : model})).el);
              }, this);
          }
      })
      

      【讨论】:

        猜你喜欢
        • 2011-05-19
        • 1970-01-01
        • 2010-11-03
        • 2016-04-30
        • 1970-01-01
        • 2013-01-11
        • 2013-12-05
        • 1970-01-01
        • 2020-08-16
        相关资源
        最近更新 更多