骨干视图的onClick事件不返回当前视图/模型

时间:2016-10-01 07:58:01

标签: backbone.js views backbone-events

我在Backbone中有一个观点,其中&#39; el&#39;是下面的&#39;示例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>

现在我需要做的是,点击一个<li>元素,我需要得到该元素的相应视图来获取模型和调用方法。所以我在这个tabView中注册了一个哈希事件,并在点击<li>时调用一个方法。但是在下面&#39;这个&#39;始终只返回上次创建的<li>元素视图/模型。

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

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

如何获取当前点击的<li>元素视图/模型?

1 个答案:

答案 0 :(得分:1)

您好像正在尝试使用模型及其属性来保存一组列表项。这种方法不正确。相反,您需要为列表创建一个子视图,该视图由&#34;集合&#34;然后应将每个li元素添加到列表集合中。阅读关于Backbone Collections的大量教程之一。