Я изучал некоторые backbone.js, и я видел множество экземпляров, где используется _.bindAll()
. Я прочитал всю страницу backbone.js и underscore.js, чтобы попытаться понять, что она делает, но я все еще очень неясен относительно того, что она делает. Ниже приведено объяснение:
_.bindAll(object, [*methodNames])
Применяет ряд методов на объект, указанный с помощью имени метода, для выполняться в контексте этого объекта когда они вызываются. Очень удобно для функций привязки, которые идут для использования в качестве обработчиков событий, которые в противном случае вызывается с помощью это бесполезно. Если ни один методNames предоставляются все объекты свойства функции будут связаны с он.
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...
Если вы можете помочь здесь, представив другой пример, возможно, или какое-нибудь словесное объяснение, все будет оценено. Я попытался найти больше учебных пособий или примеров, но ноль, которые служат тому, что мне нужно. Большинство людей, похоже, просто знают, что он делает автоматически...