在Vue中 ,时间处理函数 比如@click
会在实际dom元素上绑定一个新的函数,,这个新的函数不再与当前Vue组件实例的上下文相关,,因此在这个新函数的内部,无法直接访问当前组件实例的数据,方法,或者计算属性
vue会在按钮上绑定一个新的函数来处理点击事件:
js
document.querySelector("button").addEventListener("click",function(){
// 这里的this不再是当前组件实例
// 但是可以通过 event访问DOM元素和其他信息
})
vue为事件处理程序创建一个新的函数,,并且这个函数的上下文不再和当前组件的上下文相关,,@click="edit(item)"
这个item会变成undefined,,,需要使用箭头函数,,将item传进去 @click="()=>edit(item)"
, 箭头函数继承了外部作用域上下文,,可以访问外部的变量