我有这个监听器:
this.renderer.listenGlobal('document', 'mousemove', function(e: MouseEvent){
});
例如,我有一个变量,我想从列表器中设置它,例如:
AVariable:number;
HelloWorld() {
this.renderer.listenGlobal('document', 'mousemove', function(e: MouseEvent){
this.AVariable = 5;
});
}
我将这个错误未定义。 我的问题是:如何从监听器中调用变量/函数?
最佳答案
改变
'mousemove', function(e: MouseEvent){
到
'mousemove', (e: MouseEvent)=>{
如果您使用function
,this
将引用点击事件实例(我猜在这种情况下不使用渲染器)
旧的 js 方法是:
HelloWorld() {
var self = this;
this.renderer.listenGlobal('document', 'mousemove', function(e: MouseEvent){
self.AVariable = 5;
});
}
关于javascript - Angular 4 : Call angular function from a global listner,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43783757/