vue中函数参数传递为undefined

在Vue中 ,时间处理函数 比如@click 会在实际dom元素上绑定一个新的函数,,这个新的函数不再与当前Vue组件实例的上下文相关,,因此在这个新函数的内部,无法直接访问当前组件实例的数据,方法,或者计算属性

vue会在按钮上绑定一个新的函数来处理点击事件:

document.querySelector("button").addEventListener("click",function(){
	// 这里的this不再是当前组件实例
	// 但是可以通过 event访问DOM元素和其他信息
})

vue为事件处理程序创建一个新的函数,,并且这个函数的上下文不再和当前组件的上下文相关,,@click="edit(item)" 这个item会变成undefined,,,需要使用箭头函数,,将item传进去 @click="()=>edit(item)" , 箭头函数继承了外部作用域上下文,,可以访问外部的变量

你可能感兴趣的:(vue.js,javascript,前端)