J'ai été l'apprentissage de quelques backbone.js et j'ai vu beaucoup de cas où les _.bindAll()
est utilisé. J'ai lu à travers l'ensemble de la backbone.js et underscore.js page de documentation pour essayer de se faire une idée de ce qu'il fait, mais je suis encore très floue de ce qu'il fait. Ici est le trait de soulignement de l'explication:
_.bindAll(object, [*methodNames])
Lie un certain nombre de méthodes sur la objet spécifié par methodNames, à être exécuté dans le contexte de cet objet chaque fois qu'ils sont invoqués. Très pratique pour la liaison des fonctions qui vont pour être utilisé en tant que gestionnaires d'événements, qui serait autrement appelée avec un assez inutile. Si aucun methodNames sont fournis, l'ensemble de l'objet propriétés de la fonction sera lié à c'.
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...
Si vous pouvez l'aider en donnant un autre exemple, peut-être, ou quelque explication verbale, tout serait appréciée. J'ai essayé de chercher pour plus de tutoriels ou des exemples, mais nul tourner jusqu'à ce que de servir ce dont j'avais besoin. La plupart des gens semblent juste savoir ce qu'il fait automatiquement...