Uczyłem się niektórych backbone.js i widziałem wiele przypadków, w których _.bindAll()jest używany. Przeczytałem całą stronę dokumentacji backbone.js i podkreślenia.js, aby spróbować zorientować się, co robi, ale nadal jestem bardzo niejasny co do tego, co robi. Oto wyjaśnienie podkreślenia:
_.bindAll(object, [*methodNames])Wiąże szereg metod w obiekcie, określonych przez methodNames, które mają być uruchamiane w kontekście tego obiektu za każdym razem, gdy są wywoływane. Bardzo przydatne do wiązania funkcji, które będą używane jako programy obsługi zdarzeń, które w przeciwnym razie byłyby wywoływane z dość bezużytecznym this. Jeśli nie podano MethodNames, wszystkie właściwości funkcji obiektu zostaną z nim powiązane.
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...
Jeśli możesz tu pomóc, podając inny przykład lub jakieś ustne wyjaśnienie, wszystko byłoby wdzięczne. Próbowałem poszukać więcej samouczków lub przykładów, ale nie pojawiło się żadne, które służyłoby temu, czego potrzebowałem. Większość ludzi wydaje się po prostu wiedzieć, co robi automatycznie ...