Ką reiškia „kaklaraištis“ (tai)?

Tam tikroje valdiklio „ onInit funkcijos dalyje „ SAPUI5 programoje yra automatiškai sukurtas kodas:

  this.getView().addEventDelegate({ onBeforeFirstShow: function() { // Some codes }.bind(this) }); 

Dabar mano klausimas, ką reiškia .bind(this) ? Ką tai daro? Ar šis grynas javascript kodas yra susijęs su SAPUI5?

5
20 февр. Mahdi J.Ansari nustatė vasario 20 d. 2017-02-20 15:14 '17, 15:14 2017-02-20 15:14
@ 3 atsakymai

Jis susieja funkcijų klausytoją su dabartine klase, o tada, kai naudojate this rodiklį į „ onBeforeFirstShow funkciją, this žymeklis priklauso kapsulinei klasei, o jūs galite pasiekti savo narius.

2
20 февр. atsakymą pateikė vartotojo7383443 20 vas. 2017-02-20 15:17 '17, 15:17 2017-02-20 15:17

Taip, tai yra grynas javascript kodas, galite sužinoti daugiau apie tai, kas yra privaloma ir ką ji daro čia.

Metodas jungia () sukuria naują funkciją, kuri, kai naudojama, turi šį raktinį žodį į pateiktą vertę, nurodydama tam tikrą argumentų seką prieš bet kurią kitą, kai vadinama nauja funkcija.

Šiuo atveju tai, ką ji daro, iš esmės yra onBeforeFirstShow srovę su šia funkcija, taigi, kai yra vadinamas onBeforeFirstShow , tai ši funkcija bus ta, kuri perduodama bind funkcijai.

Taip pat galite ieškoti naujos sintaksės rodyklės funkcijos, esančios ES6, ji automatiškai susieja dabartinę srovę.

2
20 февр. Tiago Henrique Engel atsakymas, pateiktas vasario 20 d. 2017-02-20 15:18 '17, 15:18 2017-02-20 15:18

Metodas bind() sukuria naują funkciją, kuri, kai naudojama, turi šį raktinį žodį į pateiktą vertę, nurodydama tam tikrą argumentų seką prieš bet kurią kitą, kai vadinama nauja funkcija.

Sintaksė

fun.bind (thisArg [, arg1 [, arg2 [, ...]]])

Nuoroda į „ Mozilla“ kūrėjų tinklą

0
20 февр. atsakymą pateikė „ Cnbandicoot“ 20 vasaris. 2017-02-20 15:18 '17, 15:18 2017-02-20 15:18

Žr. Kitus klausimus dėl arba Užduoti klausimą