Angular + PIXI - 如何将组件方法分配给变量并保留 'this' 引用

Angular + PIXI - How to assign a component method to a variable and preserve 'this' reference

我正在使用 angular 7 和 Pixi.js 4.

为了从使用 PIXI.Graphics() 构建的图形元素中获得点击回调,我需要设置:

graphicElem.click = A_FUNCTION_REF

我已经将我的函数定义为我组件中的一个方法:

onClick(event: PIXI.interaction.InteractionEvent): void { console.log(this.myCompField); }

如果我写:

graphicElem.click = this.onClick;

我从控制台日志中得到:undefined。我想因为 this ref 没有通过,但事实并非如此,我可以记录 this 并且它不是未定义的。使用 this.onClick.bind(this); 可行,但我读到不建议使用 bind()

正确的做法是什么?我错过了什么?

在这种情况下,您可以使用箭头函数语法代替 .bind

试试这个:

onClick = (event: PIXI.interaction.InteractionEvent) => { console.log(this.myCompField); }