我想使用在视图的选项中定义的选择器将事件绑定到视图。
类似于(用文字表示):
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