在 ngOnInit 中调用函数时的 Angular5 打字稿
Angular5 typescript when calling a function within ngOnInit
使用以下 Angular5 代码时遇到问题:
constructor(protected snackBar: MatSnackBar) {}
openSnackBar(message: string, action: string) {
this.snackBar.open(message, action, {
duration: 2000,
});
}
ngOnInit() {
const socket = io();
socket.on('notification', function (data) {
this.openSnackBar(data.message,"Undo");
});
}
根据我的端点何时调用 websocket(使用 socket.io),一切正常,我想使用 Angular Material snackbar 从套接字显示我的 data.message。
很遗憾,我收到以下错误:
ERROR TypeError: "this.openSnackBar is not a function"
不确定我做错了什么,上面的可能吗?
改用箭头函数=>
-
socket.on('notification', (data) => {
this.openSnackBar(data.message,"Undo");
});
因为,它没有自己的this
使用以下 Angular5 代码时遇到问题:
constructor(protected snackBar: MatSnackBar) {}
openSnackBar(message: string, action: string) {
this.snackBar.open(message, action, {
duration: 2000,
});
}
ngOnInit() {
const socket = io();
socket.on('notification', function (data) {
this.openSnackBar(data.message,"Undo");
});
}
根据我的端点何时调用 websocket(使用 socket.io),一切正常,我想使用 Angular Material snackbar 从套接字显示我的 data.message。
很遗憾,我收到以下错误:
ERROR TypeError: "this.openSnackBar is not a function"
不确定我做错了什么,上面的可能吗?
改用箭头函数=>
-
socket.on('notification', (data) => {
this.openSnackBar(data.message,"Undo");
});
因为,它没有自己的this