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