【问题标题】:onClick event of backbone view not returning current view/model主干视图的 onClick 事件未返回当前视图/模型
【发布时间】:2017-02-09 18:52:13
【问题描述】:

我在 Backbone 中有一个视图,其中“el”是下面的“示例 div”。在这个视图的渲染函数中,我创建了动态的<li> 元素并将它们附加到 ul 元素中。

var tabView = Backbone.View.extend({
         el : '#sample',
         $ul :  $("#sample").find("ul"),
...( Other code)
 render: function () {
  var htmContent = this.template(this.model.attributes);
  this.$ul.append(htmContent);
  return this.$el;
 }
<div id="sample> 
<ul class="list">
<!-- <li class="series"> elements will be appended here'-->
</ul>
</div>

现在我需要做的是,在点击一个&lt;li&gt;元素时,我需要获取该元素的对应视图来获取模型和调用方法。所以我在这个 tabView 中注册了一个哈希事件,并在点击 &lt;li&gt; 时调用了一个方法。但是,在“this”下方总是返回最后创建的 &lt;li&gt; 元素视图/模型。

events:{
         'click .series':'clickOnContent'
       }

clickOnContent: function(e){
      e.preventDefault();
    var val =  this.model.attributes;
}

如何获取当前点击的&lt;li&gt; 元素视图/模型?

【问题讨论】:

    标签: backbone.js views backbone-events


    【解决方案1】:

    您似乎正在尝试使用模型及其属性来保存一组列表项。这是方法不正确。相反,您需要为列表创建一个由“集合”支持的子视图,然后应将每个 li 元素添加到列表集合中。阅读有关 Backbone 集合的丰富教程之一。

    【讨论】:

      猜你喜欢
      • 2013-12-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-21
      相关资源
      最近更新 更多