是否可以在方法上绑定上下文?我制作了一个pixi图形:
var square = new PIXI.Graphics();
然后我调用我的方法this.onDragMove
并绑定square
。
square
.on('pointermove', this.onDragMove.bind(square));
但是当我登录this
时,它仍然记录了vue组件。
onDragMove() {
console.log(this);
console.log('Object is moving')
},
我做错什么了吗?还是不可能?
答案 0 :(得分:2)
根据docs:
所有方法的
Select * From file Where file_status = 1 Order By file_date DESC limit 5
上下文将自动绑定到Vue实例。
您不能重新绑定Vue实例上定义的方法的this
上下文,原因如下,导致以下代码无法正常工作:
this
您可以通过$options
访问原始的未绑定函数:
function foo() {
return this;
}
const X = {};
const Y = {};
const fooX = foo.bind(X);
const fooY = fooX.bind(Y); // Attempting to bind an already bound function
console.log(fooX() === X); // true
console.log(fooY() === X); // true
console.log(fooY() === Y); // false