学习最新vue20.17.0-事件处理

ops/2024/10/21 3:39:51/

vue中文官网事件处理 | Vue.js (vuejs.org)

我在官网基础上,添加些代码,方便初学者学习,能够快速理解官网内容,掌握自己所需要的知识,以便节省宝贵的时间。

事件处理

监听事件

  我们可以使用 v-on 指令 (简写为 @) 来监听 DOM 事件,并在事件触发时执行对应的 JavaScript。用法:v-on:click="handler" 或 @click="handler"。
  事件处理器 (handler) 的值可以是:1、内联事件处理器:事件被触发时执行的内联 JavaScript 语句 (与 onclick 类似)。2、方法事件处理器:一个指向组件上定义的方法的属性名或是路径。

内联事件处理器

  内联事件处理器通常用于简单场景,例如:

演示代码:

     js 代码:
         const count = ref(0)
     template 代码:
        <button @click="count++">Add 1</button><p>Count is: {{ count }}</p>
     演示结果:

        


方法事件处理器

  举例来说:

演示代码:

     js 代码:
         const name = ref('Vue.js')let say = ref('')let eventName= ref('')function greet(event) {say.value=`Hello ${name.value}!`// `event` 是 DOM 原生事件if (event) {eventName=event.target.tagName}}
     template 代码:
         <button @click="greet">greet()</button><li>{{say}}</li><li>{{eventName}}</li>
     演示结果:

        

方法与内联事件判断

  模板编译器会通过检查 v-on 的值是否是合法的 JavaScript 标识符或属性访问路径来断定是何种形式的事件处理器。举例来说,foo、foo.bar 和 foo['bar'] 会被视为方法事件处理器,而 foo() 和 count++ 会被视为内联事件处理器。

在内联处理器中调用方法

  除了直接绑定方法名,你还可以在内联事件处理器中调用方法。这允许我们向方法传入自定义参数以代替原生事件:

演示代码:

     js 代码:
         const sayText = ref('')function say(message) {if (message) {sayText.value =""if(message === 'hello'){sayText.value="hello,how are you"}else {sayText.value="good bye"}}}
     template 代码:
        <button @click="say('hello')">Say hello</button><button @click="say('bye')">Say bye</button><table>{{sayText}}</table>
     演示结果:

        


在内联事件处理器中访问事件参数

  有时我们需要在内联事件处理器中访问原生 DOM 事件。你可以向该处理器方法传入一个特殊的 $event 变量,或者使用内联箭头函数:

演示代码:

     js 代码:
         const warnText = ref("")function warn(message, event) {// 这里可以访问原生事件                                                                         warnText.value=event.target.innerText+":"+message}
     template 代码:
        <button @click="warn('Form cannot be submitted yet.', $event)">Submit</button><!-- 使用内联箭头函数, event1自定义变量接受事件变量--><button @click="(event1) => warn('Form cannot be submitted yet. 01', event1)">Submit01</button><table>{{warnText}}</table>
     演示结果:

        


事件修饰符

  在处理事件时调用 event.preventDefault() 或 event.stopPropagation() 是很常见的。尽管我们可以直接在方法内调用,但如果方法能更专注于数据逻辑而不用去处理 DOM 事件的细节会更好。
  为解决这一问题,Vue 为 v-on 提供了事件修饰符。修饰符是用 . 表示的

http://www.ppmy.cn/ops/127168.html

相关文章

【MySQL】子查询,合并查询

目录 1.子查询 1.1.单行子查询 1. 2.多行子查询 1.3.多列子查询 1.4.在from子句里面使用子查询 2.合并查询 1.子查询 子查询&#xff0c;也称为嵌套查询或子选择&#xff0c;是SELECT嵌入在另一个SQL查询的 WHERE 或 HAVING子句中的查询。子查询返回的数据由外部语句使用&a…

【Vue】项目部署本地部署和服务器部署

本地部署 在本地部署一个 Vue 项目的 dist 目录&#xff0c;可以通过几种不同的方法来实现。以下是一些常见的方法&#xff1a; 1. 使用简单的 HTTP 服务器 方法 1&#xff1a;使用 http-server http-server 是一个简单的、零配置的命令行 HTTP 服务器。你可以使用它快速地…

git 操作暂存区命令用法大全

以下是 Git 操作暂存区&#xff08;也称为索引区&#xff09;的常用命令及用法大全&#xff1a; 1. git add 将文件添加到暂存区。 git add <file> 示例&#xff1a; git add index.html git add .&#xff1a;添加当前目录下的所有文件到暂存区。git add -p&#…

java基本数据类型

目录 一.基本数据类型 1.整型变量 (1)整型变量 (2)长整型变量 (3)短整型变量 (4)字节型变量 2.浮点型变量 (1)双精度浮点型 (2)单精度浮点型 3.字符型变量 (1)字符型 4.布尔型变量 (1)布尔型 二.类型提升 三.类型转换 java的数据类型大体上和c语言的差不多&#…

深入拆解TomcatJetty(二)

深入拆解Tomcat&Jetty&#xff08;二&#xff09; 专栏地址&#xff1a;https://time.geekbang.org/column/intro/100027701 1、Tomcat支持的IO模型和应用层协议 IO模型&#xff1a; NIO&#xff1a;非阻塞 I/O&#xff0c;采用 Java NIO 类库实现。NIO2&#xff1a;异…

【计算机网络 - 基础问题】每日 3 题(四十七)

✍个人博客&#xff1a;https://blog.csdn.net/Newin2020?typeblog &#x1f4e3;专栏地址&#xff1a;http://t.csdnimg.cn/fYaBd &#x1f4da;专栏简介&#xff1a;在这个专栏中&#xff0c;我将会分享 C 面试中常见的面试题给大家~ ❤️如果有收获的话&#xff0c;欢迎点赞…

Linux文件系统软硬链接

目录 一、认识硬件--磁盘--永久性存储介质 1.1磁盘的结构 1.2磁盘的存储构成 1.3磁盘的逻辑结构 二、文件系统 2.1文件系统的引入 2.2理解文件系统 2.3对文件增删查改的再理解 2.4如何理解“目录” 三、软硬链接 3.1软链接 3.2 硬链接 3.3ACM 一、认识硬件--磁盘--…

cmake Qt模板

一、常用模块 1. 构建完成后自动调用windeployqt打包 add_custom_command(TARGET ${PROJECT_NAME} POST_BUILDCOMMAND "${QT_PATH}/bin/windeployqt.exe" "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.exe" )需要将QT_PATH设为Qt的安装目录。还可以用-…