问题: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