无论如何将事件与Backbone中的“if”依赖绑定?

时间:2012-11-13 08:14:43

标签: javascript events backbone.js bind

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

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

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

1 个答案:

答案 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);
   }
}