我想使用在视图的选项中定义的选择器将事件绑定到视图。

类似于(用文字表示):

events: ()->
  "change" : "setNewCheckedStateWithCheckbox"
  '"click'+ @.options.choices_button_selector +'"' : "test"


我一生无法解决。

最佳答案

这里的问题是您不能在JavaScript对象文字的键中执行表达式。在对象上设置任意键的唯一方法是使用obj[expression]语法。

这是重写代码以执行所需操作的一种方法:

class MyView extends Backbone.View
  _events = change: "setNewCheckedStateWithCheckbox"
  events: ->
    eventsHash = _.extend {}, _events
    eventsHash["click #{@.options.choices_button_selector}"] = "test"
    eventsHash

09-27 13:22