目录

  • 1 初识Vue.js
    • 1.1 Vue简介
    • 1.2 Vue开发环境
    • 1.3 Vue的初使用
  • 2 Vue.js 开发基础
    • 2.1 单文件组件
    • 2.2 数据绑定
    • 2.3 指令
    • 2.4 事件对象和事件修饰符
    • 2.5 计算属性和侦听器
    • 2.6 样式绑定
    • 2.7 案例:购物车模块
    • 2.8 案例:学习计划表
  • 3 组件基础(上)
    • 3.1 构建工具Vite
    • 3.2 选项式API和组合式API
    • 3.3 组合式编程
    • 3.4 生命周期
    • 3.5 组件的注册与引用
    • 3.6 组件通信
      • 3.6.1 父组件向子组件传递数据
      • 3.6.2 子组件向父组件传递数据
      • 3.6.3 跨级组件之间的数据传递
    • 3.7 案例:待办事项
  • 4 组件基础(下)
    • 4.1 动态组件
    • 4.2 插槽
    • 4.3 自定义指令
    • 4.4 引用静态资源
    • 4.5 案例:商品管理
  • 5 网络请求
    • 5.1 Axios
    • 5.2 Axios图书列表案例
  • 6 状态管理
    • 6.1 Vuex
    • 6.2 Pinia
  • 7 路由
    • 7.1 初识路由和VueRouter
    • 7.2 嵌套路由
    • 7.3 路由重定向
    • 7.4 动态路由
    • 7.5 命名路由
    • 7.6 编程式导航
    • 7.7 导航守卫
    • 7.8 案例:后台管理系统
  • 8 常用UI组件库
    • 8.1 Element Plus组件库
    • 8.2 Vant组件库
    • 8.3 Ant Design Vue组件库
  • 9 项目实战
    • 9.1 项目所需软件
    • 9.2 项目前台分析
    • 9.3 “微商城”后台分析
事件对象和事件修饰符
  • 1 事件对象
  • 2 事件修饰符

什么是事件对象?

事件对象是在事件触发时产生的对象,该对象保存了事件触发时的相关信息。


事件对象有以下两种获取方式。

  • 通过事件方法的参数获取事件对象

  • 通过$event获取事件对象


1. 通过事件方法的参数获取事件对象

在v-on绑定的用于处理事件的方法中,可以接收到一个参数,这个参数就是事件对象,示例代码如下。

<template>
 <button @click="greet">Greet</button>
</template>
<script setup>
const greet = event => console.log(event)
</script>

演示事件对象的使用方法

<template>
 <div>count的值为:{{ count }}</div>
 <button @click="addCount">count+1</button>
</template>
<script setup>
import { ref } from 'vue'
const count = ref(1)
const addCount = event => {
 count.value++
 if (count.value % 2 === 0) { event.target.style.border = '3px dotted' } else { event.target.style.border = '3px solid' } }
</script>

2. 通过$event获取事件对象

$event是Vue提供的内置变量,使用它可以获取事件对象,示例代码如下。

<template>
 <button @click="change($event)">change</button>
</template>
<script setup>
const change = event => console.log(event)
</script>

演示通过$event获取事件对象的方式

const addCountN = (n, event) => {
 count.value += n
 if (count.value % 2 === 0) {
   event.target.style.border = '3px dotted'
 } else {
   event.target.style.border = '3px solid'
 }
}

修改页面结构代码,增加一个按钮。

<button @click="addCountN(3, $event)">count+n</button>