我一直在学习一些ribs.js,并且已经看到很多使用实例_.bindAll()
。我已经通读了整张骨架.js和underscore.js文档页面,以试图了解它的功能,但是对于它的功能我仍然很模糊。这是下划线的说明:
_.bindAll(object, [*methodNames])
在方法名称上指定的对象上绑定许多方法,以便在调用它们时在该对象的上下文中运行。对于将用作事件处理程序的绑定函数非常方便,否则将使用相当无用的this来调用它们。如果未提供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...
如果您可以在此举另一个例子或一些口头解释来帮助您,那么您将不胜感激。我尝试搜索更多的教程或示例,但没有找到可以满足我需要的内容。大多数人似乎只知道它会自动执行...