Mam następujący kod wewnątrz dyrektywy kątowej, chciałem uzyskać dostęp do zmiennej poziomu klasy w funkcji wywołania zwrotnego, więc użyłem funkcji strzałki, ale „this” nadal nie wskazuje dyrektywy.
this.itemRects.selectAll('rect')
.data(this.visItems, (d) => {
return d.id + this.x;
})
Dodałem debugger w instrukcji return w debugerze pokazuje to, wskazując tablicę danych.
Jak mogę uzyskać dostęp do funkcji wywołania zwrotnego na poziomie dyrektywy „this”?
1 odpowiedź
W funkcji callback odnosi się to do obiektu funkcji callback. możesz zadeklarować zmienną poza funkcją zwrotną w następujący sposób:
var self = this;
I uzyskaj dostęp do zmiennych klas w funkcji wywołania zwrotnego za pomocą self, zamiast tego.
Sprawdź poniższy link, aby powiązać zmienne klasy w funkcji oddzwaniania za pomocą symbolu strzałki: Jak używać funkcji strzałek (publicznych pól klas) jako metod klasowych?
Próbować:
this.itemRects.selectAll('rect')
.data(this.visItems, (d,x) => {
return d.id + x;
})