【发布时间】:2011-09-28 18:01:49
【问题描述】:
我一直在学习一些backbone.js,并且我已经看到很多使用_.bindAll() 的实例。我已经阅读了整个backbone.js 和underscore.js 文档页面,试图了解它的作用,但我仍然对它的作用非常模糊。下面是下划线的解释:
_.bindAll(object, [*methodNames])绑定多个方法 由 methodNames 指定的对象,以 在该对象的上下文中运行 每当它们被调用时。非常便利 用于绑定功能 用作事件处理程序,其中 否则会被调用 这个没啥用。如果没有方法名 提供,所有对象的 函数属性将绑定到 它。
var buttonView = { label : 'underscore', onClick : function(){ alert('clicked: ' + this.label); }, onHover : function(){ console.log('hovering: ' + this.label); } }; _.bindAll(buttonView); jQuery('#underscore_button').bind('click', buttonView.onClick); => When the button is clicked, this.label will have the correct value...
如果您可以在这里提供另一个示例或一些口头解释来提供帮助,我们将不胜感激。我试图搜索更多的教程或示例,但没有找到满足我需要的东西。大多数人似乎只是知道它会自动做什么......
【问题讨论】:
标签: javascript backbone.js underscore.js