在vue项目中如果methods的方法用箭头函数定义结果会怎么样?
-
var app = nvar app = new Vue({
el: "#app",
data: {},
methods: {
a: () => {
console.log(this); //Window
}
}
});
为什么我的this指向的是Window? -
var app = nvar app = new Vue({
el: "#app",
data: {},
methods: {
a: () => {
console.log(this); //Window
}
}
});
为什么我的this指向的是Window?虽然没有尝试过,但是我估计你是在html里面直接用<script>引入vue的,this的默认绑定在window上,而我是用的webpack构建的,默认在严格模式下,this默认绑定为undefined
-
data() { return { log: "111" }; }, methods: { test: () => { console.log(this.log); //undefined } }
data() { return { log: "111" }; }, methods: { test() { console.log(this.log); //111 } }