我想知道是否有依赖事件绑定与Backbone中的“if”。
例如,如果我有用户配置文件模型,并且我想仅在属性“acceptMsgs”设置为true时绑定“发送消息”按钮事件。
我目前的解决方案是在发射事件中检查它,如果有更好的方法,请纠正我。
答案 0 :(得分:0)
我不确定它是否是更好的方法,但你可以使用一个函数来返回事件哈希的哈希值(当然,你可以检查一些函数)条件)。
例如
的内容myView = Backbone.Views.extend({
events: function () {
if (someCondition) {
return { "#someButton click" : "nameOfFunction"}
}
}
//the rest of your view
});
或者,您可以放弃事件哈希并在initialize方法中绑定事件,例如
initialize: function (options) {
if (someCondition) {
this.$el.on("click", "#someButton", nameOfFunction);
}
}