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