我正在开发一个应用程序,我必须使用这个难看的技巧来访问当前类:
export class ChatComponent implements OnInit {
private mensajes: string[];
// Some irrelevant code here
private conexionWebsocket() {
this.websocket = new SockJS(this.serverUrl);
this.stompClient = Stomp.over(this.websocket);
const that = this; // <--- Ugly Hack!!!
this.stompClient.connect({ 'Authorization': this.token }, function (frame) {
that.stompClient.subscribe('/chat', message => {
that.mensajes.push(message.body); // <--- Ugly reference
});
});
}
// Some irrelevant code here
}
我尝试使用与Java相同的方法:ChatComponent.this.mensajes
,但没有结果。
还有另一种方法可以实现吗?
答案 0 :(得分:1)
请改用箭头功能。它们保持与定义时相同的this
值。
this.stompClient.connect({ 'Authorization': this.token }, (frame) => {
this.stompClient.subscribe('/chat', message => {
this.mensajes.push(message.body);
});
});