问题:vue methods中的函数是如何强制绑定到vue实例中的?
var obj = { eventHandle: function (){ // this指向window
console.log(this);
}
};window.addEventListener("resize", obj.eventHandle, false);var obj = {
eventHandle: function (){ // this指向window
console.log(this);
}.bind(obj)
};window.addEventListener("resize", obj.eventHandle, false);var vm = new Vue({
el: "#app",
methods: {
eventHandle: function (){
console.log(this);
}
},
mounted(){ /*
// this指向当前vue实例
window.addEventListener("resize", this.eventHandle.bind(this), false);
*/
/* this指向当前vue实例。很奇怪为什么这样给window绑定事件,
事件执行函数的this还是指向当前vue实例 */
window.addEventListener("resize", this.eventHandle, false);
}
});aluckdog
梦里花落0921