This jako callback w funkcji

0

this.example = ko.computed(function () {

}, this);

Jak rozumieć to co przekazujemy jako this w callbacku?

0

0
this.example = ko.computed(function () {

}, this);
0

Prawdopodobnie przekazywana funkcja jest bindowana do tamtego this.

Innymi słowy:

this.example = ko.computed(function() {
  // to `this` *nie* jest tym samym `this`, co na zewnątrz (`function` wprowadza nowy kontekst)
});

this.example = ko.computed(function() {
  // to `this` *jest* tym samym `this`, co na zewnątrz (`function` jest wiązane z przekazanym kontekstem)
}, this);

this.example = ko.computed(() => {
  // to `this` *jest* tym samym `this`, co na zewnątrz (funkcje strzałeczkowe nie wprowadzają nowego kontekstu, tylko są automatycznie wiązane z tym wyżej)
});
0
this.example = ko.computed(function() {
  // to `this` *jest* tym samym `this`, co na zewnątrz (`function` jest wiązane z przekazanym kontekstem)
}, this);

Czyli tym thisem w callbacku jest ten this.example? Bo on jest po za funkcją.

0

Tak, możesz to tak rozumieć.

Lub inaczej: bez przekazywania tego this nie byłbyś w stanie odnieść się do innych elementów tego obiektu (np. gdybyś gdzieś przed funkcją zrobił this.foo = 1024;, nie widziałbyś tego w funkcji).

0

Wtedy w callbacku by było trzeba dać:


this.foo

?

Jeśli ten obiekt this po za funkcją miał jeszcze właściwość foo.

0

Jeśli chciałbym odwołać się do właściwości foo

0

Ale wiesz, że możesz to wszystko sprawdzić sam, prawda? ;-)

1 użytkowników online, w tym zalogowanych: 0, gości: 1