最佳答案
我已经学习了一些 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...
如果你能给出另一个例子或者一些口头解释来帮助我们,我们将不胜感激。我试图搜索更多的教程或示例,但是没有找到能够满足我需要的。大多数人似乎只知道它会自动..。