Ich habe einige backbone.js gelernt und viele Fälle gesehen, in denen sie _.bindAll()
verwendet werden. Ich habe die gesamte Dokumentationsseite von backbone.js und underscore.js durchgelesen, um ein Gefühl dafür zu bekommen, was es tut, aber ich bin immer noch sehr unklar, was es tut. Hier ist die Erklärung des Unterstrichs:
_.bindAll(object, [*methodNames])
Bindet eine Reihe von Methoden an das Objekt, die durch methodNames angegeben werden, um bei jedem Aufruf im Kontext dieses Objekts ausgeführt zu werden. Sehr praktisch für Bindungsfunktionen, die als Ereignishandler verwendet werden sollen, die sonst mit einer ziemlich nutzlosen Funktion aufgerufen würden. Wenn keine methodNames angegeben werden, werden alle Funktionseigenschaften des Objekts daran gebunden.
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...
Wenn Sie hier helfen können, indem Sie vielleicht ein anderes Beispiel oder eine verbale Erklärung geben, wäre alles willkommen. Ich habe versucht, nach weiteren Tutorials oder Beispielen zu suchen, aber es tauchen keine auf, die dem dienen, was ich brauchte. Die meisten Leute scheinen nur zu wissen, was es automatisch macht ...