1

我想知道是否有依赖于Backbone中“if”的事件绑定。

例如,如果我有用户配置文件模型,并且我想仅在属性“acceptMsgs”设置为 true 时绑定“发送消息”按钮事件。

我目前的解决方案是在事件触发时检查它,如果有更好的方法,请纠正我。

4

1 回答 1

0

我不确定这是否是一种更好的方法,但您可以使用返回事件哈希的哈希的函数(当然,在函数中您可以检查某些条件)。

例如类似的东西

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);
   }
}
于 2012-11-13T18:24:11.767 回答