当我们在的事件处理函数中,如果绑定是不加参数, 就可以在使用时得到 event 对像,如下图
<view name="aaa" @click="gotochange"></view><script>
const gotochange = (e)=>{console.log(e)//此时的 绑定时是没有传参的, 但在使用是, vue会自动传入 event 对象
}</script>
注意, 上面的情况是 绑定是没有传参的, vue会自动传入 event 对象, 但是, 如果在 绑定时传入了参数
<view name="aaa" @click="gotochange('hahah')"></view>
此时, 我们在绑定是传入了参数, 那么在调用的时候,就不会有 event 对象了
我们的需求是即想有 event 对象, 又想有自定义参数, 怎么做呢
方法: 在绑定函数时 ,第一个参数名称 必需是 $event 名称不能变,就叫$event 然后是后面的形参
<view name="bbb" @click="gotochange($event,'hahaha',''hehehe)"></view>
const gotochange = (e,params1,params2)=>{console.log(e)console.log(params2)
}
以上方法可能会在小程序中有点问题,如我们在使用 uniapp + vue的时候
所以我们下面说一种,所有端都适用的方法传参
也就是我们在 元素的标签上添加 data-abc=“abc” 的属性
这个 abc 就是我们想要传入的自定义参数,代码如下
<view name="haha" data-abc="myparams" @click="gotochange"></view>
<script setup>
const gotochange = (e) =>{let abc = e.target.dateset("abc") 这样就可以得到自定义的参数了而且, 参数中的 e 就是事件对象
}
<script>
上面的这个方法是一个通用的方法, 小程序 或都 vue 中都是可以通用的