Angular + PIXI - Как назначить метод компонента переменной и сохранить ссылку «this» - PullRequest
0 голосов
/ 08 ноября 2018

Я использую 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 не передана, но это не так, я могу войти this, и она не является неопределенной. Использование this.onClick.bind(this); работает, но я прочитал, что использование bind() не рекомендуется.

Какой правильный путь? Чего мне не хватает?

1 Ответ

0 голосов
/ 08 ноября 2018

В этом случае вы можете использовать синтаксис функции стрелки вместо .bind.

Попробуйте это:

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