Tenho aprendido alguns backbone.js e já vi muitas instâncias em que _.bindAll()
é usado. Eu li toda a página de documentação backbone.js e underscore.js para tentar ter uma ideia do que ele faz, mas ainda estou muito confuso sobre o que ele faz. Aqui está a explicação do sublinhado:
_.bindAll(object, [*methodNames])
Vincula vários métodos no objeto, especificados por methodNames, para serem executados no contexto desse objeto sempre que forem chamados. Muito útil para funções de ligação que serão usadas como tratadores de evento, que de outra forma seriam invocadas com um this bastante inútil. Se nenhum methodNames for fornecido, todas as propriedades da função do objeto serão associadas a ele.
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...
Se você puder ajudar aqui dando outro exemplo, talvez ou alguma explicação verbal, qualquer coisa seria apreciada. Tentei pesquisar mais tutoriais ou exemplos, mas não encontrei nada que atendesse ao que eu precisava. A maioria das pessoas parece saber o que ele faz automaticamente ...