我在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>
元素视图/模型?
答案 0 :(得分:1)
您好像正在尝试使用模型及其属性来保存一组列表项。这种方法不正确。相反,您需要为列表创建一个子视图,该视图由&#34;集合&#34;然后应将每个li元素添加到列表集合中。阅读关于Backbone Collections的大量教程之一。