问题相关代码,请勿粘贴截图
<li v-for="(item,index) in each" v-on={click:add(index),click:over}>{{item.value}}</li>
运行结果及报错内容
用@语法糖绑定一个事件不会发生这个问题,绑定两个时会一直自动执行
我想要达到的结果
希望可以点击后再让代码执行
<li v-for="(item,index) in each" v-on={click:add(index),click:over}>{{item.value}}</li>
用@语法糖绑定一个事件不会发生这个问题,绑定两个时会一直自动执行
希望可以点击后再让代码执行
v-on="{click:add(index)}"
这样子传入的 click 是 add 函数的执行结果,使用 @click="add(index)" 之所以没有立即执行 add 函数是因为 vue 做了处理,将你的add(index)封装成了一个函数再点击时再执行,而 v-on 接受的是对象,这个对象计算是就会执行 add 函数并把函数的执行结果赋值给 click 字段,这是不一样的,你可以这样写 v-on="{click: () => add(index)}"