Vue事件处理之v-on

1. 使用及定义
定义方法

function 方法名称(接受的event或是什么都不写) {
  //不管方法后括号内写与不写event,都可以接受到
  方法内表达式
}

//定义一个接受参数的方法,此时也会在传入event
function 方法名称(传入参数) {
  //可接受传入参数与event
  方法内表达式
}
//定义一个接受参数的方法与event
function 方法名称(传入参数, event) {
  方法内表达式
}

调用

<!--此处click调用countAdd方法,默认传入event.注意如果想默认传入event不要加括号-->
  <button @click="无参方法名"></button>
  <button @click="方法名(入参)"></button>
  <button @click="方法名(入参,$event占位符)"></button>
  <button @click="(event) => 方法名(入参, event参数)"></button>
  <!--多事件处理-->
  <button @click="方法名(有无参数都行),方法名(有无参数都行),方法名(有无参数都行)"></button>

2. 事件处理案例

<template>
  <div>{{ count }}</div>
  <br />
  <!--此处click调用countAdd方法,默认传入event.注意如果想默认传入event不要加括号-->
  <button @click="countAdd" name="我是button的名字">count++</button>
  <br />
  <div>{{ message }}</div>
  <br />
  <button @click="countAddByParameter('您好')" name="我是button的名字">为message添加您好</button>
  <br />
  <button @click="countAddByParameterAndevent('您好',$event)" name="我是button的名字">为message添加您好并传入event</button>
  <br />
  <button @click="(event) => countAddByParameterAndevent('您好', event)" name="我是button的名字">为message添加您好并传入event</button>
</template>
<script setup>
//从vue中获取ref方法
import { ref, reactive } from "vue";

name: "App";

let count = ref(0);
let message = ref("11111");
//定义一个无参数方法,此处event可写可不写,不写时也会传入
function countAdd(event) {
  //此处特别注意,因为使用了ref进行相应式,所以值为count的value
  count.value++;
  console.log("-----------------------------什么都没有传入-------------------------------------");
  console.log("count++:", count.value);
  //输出没有参数传入时默认传入值event
  console.log("控件name属性:", event.target.name);
}

//定义一个接受参数的方法,此时也会在传入event
function countAddByParameter(msg) {
  message.value = msg;
  console.log("-----------------------------传入参数但未传event--------------------------------");
  console.log("message.value:", message.value);
  //输出没有参数传入时默认传入值event
  console.log("控件name属性:", event.target.name);
}
//定义一个接受参数的方法与event
function countAddByParameterAndevent(msg, event) {
  message.value = msg;
  console.log("-----------------------------同时传入参数与event--------------------------------");
  console.log("message.value:", message.value);
  console.log("控件name属性:", event.target.name);
}
</script>

<style scoped>
</style>

在这里插入图片描述

  • 7
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值