我有一个#root有很多.element孩子的DOM对象:
<div id='root'>
<div class='element'>
<span>Element 1</span>
</div>
<div class='element'>
<span>Element 2</span>
</div>
<div class='element'>
<span>Element 3</span>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
我想要一个Backbone View实例.element.这是我尝试过的:
var ElementView = Backbone.View.extend({
initialize: function () {
_.bindAll(this, 'showText');
this.setElement('.element');
},
events: {
'click span': 'showText'
},
showText: function () {
console.log('You have clicked ' + $el.text());
}
});
Run Code Online (Sandbox Code Playgroud)
我将我的观点初始化如下:
new ElementView({ model: modelInstance });
Run Code Online (Sandbox Code Playgroud)
问题是.element不够精确,$el将$('.element')[0]用于每次初始化.我该如何处理许多元素具有相同CSS选择器的情况?
使用关联元素初始化视图:
$(".element").each(function(ix,el) {
new ElementView({ model: modelInstance , el:el });
});
Run Code Online (Sandbox Code Playgroud)
不要忘记this.setElement('.element');在initialize代码中删除.
| 归档时间: |
|
| 查看次数: |
488 次 |
| 最近记录: |