backbone.js如何在事件中使用变量作为选择器

ale*_*arg 4 variables events selector backbone.js

在Backbone.js中,我试图使用变量作为选择器来绑定到这样的事件:

events: function() {
    var _events = {};
    _events["click " + "#plus-" + this.options.count] = "add";
    return _events;
}
Run Code Online (Sandbox Code Playgroud)

一些(或多个)事情必定是错误的,因为Backbone似乎忽略了它.

我在这里看到的大多数例子都使用class而不是id选择器.这有什么理由吗?

提前致谢

fgu*_*len 8

我不得不说我不理解这种动态事件声明的需要.但我想你有理由.

我是如何想出一个看起来像这样的工作解决方案:

// html
<div id="container">
    <button id="button-1">button 1</button>
    <button id="button-2">button 2</button>
</div>?

// js
var View = Backbone.View.extend({
    events: function(){
        var _events = {};
        _events["click " + "#button-" + this.options.count] = "buttonClick";
        return _events;
    },
    buttonClick: function(){
        console.log( "click() on button " + this.options.count );
    }
});

var view1 = new View({
    el: $('#container'),
    count: 1
});


var view2 = new View({
    el: $('#container'),
    count: 2
});
Run Code Online (Sandbox Code Playgroud)

检查工作的jsFiddel

所以,要么我缺少某些东西,要么问题出在其他地方.

关于使用classid在你的事件css选择器中,它取决于你.