Wenn ich bekomme mein Socket-Ereignis drawMouse
& meine draw()
Funktion heißt myVar
ist undefiniert. Warum kann ich nicht über den Callback von socket.on auf this.myVar
zugreifen?Warum ist myVar undefiniert?
import { Component, OnInit } from '@angular/core';
import * as io from 'socket.io-client';
@Component({
selector: 'app-test',
templateUrl: './test.component.html',
styleUrls: ['./test.component.css']
})
export class TestComponent implements OnInit {
myVar:string;
constructor(){
this.socket = io("http://localhost:4300");
this.myVar = "hello"
}
ngOnInit() {
this.socket.on('drawMouse', function(data){
this.draw(data)
})
}
draw(){
//this variable is undefined
console.log(this.myVar);
}
}
Sind Sie sicher, dass 'draw' tatsächlich genannt wird? Das scheint unwahrscheinlich. –
Höchstwahrscheinlich ein Duplikat von [Wie man auf den richtigen 'this/Kontext innerhalb eines Callbacks zugreifen kann?] (Http://stackoverflow.com/q/20279484/218196) –