angular - 'this' este nedefinit când apelez o funcție din serviciul meu
Am acest apel pe pagina componentă
this.timerSessionService.startTimer(this.finish.bind(this), this.onSynchronice);
ei bine, funcționează grozav cu this.finish, dar când apelez onSynchronice din Service-ul meu, tot funcționează și ajunge la component-ul meu, problema apare când în component-ul meu încerc să apelez o funcție care este în interiorul componentului meu folosind .this, spune:
EROARE Eroare: Nedeprinsă (în promisiune): TypeError: Nu se poate seta proprietatea 'pew' a nedefinitului
acest lucru se datorează faptului că în funcția mea onSynchronice folosesc .this și apoi spune că nu există... cum fac să rezolv asta?
Pe componenta mea
onSynchronice(pew) {
console.log(pew["pew"]); //Works perfect
this.pew= pew; //Crashes because of .this
this.anyfunction(pew); //It crashes and says the same, anyfunction() does not exist, even if it exists
}
Răspuns #1
Poți defini onSynchronice ca o funcție săgeată:
onSynchronice = (pew) => {
console.log(pew["pew"]);
this.pew= pew;
this.anyfunction(pew);
}
