Vue3 事件处理

news2024/11/14 20:11:39

Vue3 事件处理

  • 1.基本使用
  • 2.事件修饰符
  • 3.按键修饰符

1.基本使用

我们可以使用 v-on 指令来监听 DOM 事件,从而执行 JavaScript 代码。

v-on 指令可以缩写为 @ 符号。

语法格式:

v-on:click="methodName"
或
@click="methodName"

一个最简单的事例:

<div id="app">
    <button @click="counter += 1">增加 1</button>
    <p>这个按钮被点击了 {{ counter }} 次。</p>
</div>

<script>
    const app = {
        data() {
            return {
                counter: 0
            }
        }
    }
    Vue.createApp(app).mount('#app')
</script>

在这里插入图片描述

但是在通常情况下,我们需要使用一个方法来调用 JavaScript 方法。

v-on 可以接收一个定义的方法来调用。

<div id="app">
    <button @click="greet">点我</button>
</div>
<script>
    const app = {
        data() {
            return {
                name: 'Dahe'
            }
        },
        methods: {
            greet(event) {
                alert('Hello ' + this.name + '!')
            }
        }
    }
    Vue.createApp(app).mount('#app')
</script>

事件处理程序中可以有多个方法,这些方法由逗号运算符分隔:

<div id="app">
    <!-- 这两个 one() 和 two() 将执行按钮点击事件 -->
    <button @click="one($event),two($event)">
        点我
    </button>
</div>
<script>
    const app = {
        data() {
        },
        methods: {
            one(event) {
                alert("第一个事件处理器逻辑...")
            },
            two(event) {
                alert("第二个事件处理器逻辑...")
            }
        }
    }
    Vue.createApp(app).mount('#app')
</script>

2.事件修饰符

Vue.js 为 v-on 提供了事件修饰符来处理 DOM 事件细节

Vue.js 通过由点 . 表示的指令后缀来调用修饰符。

  • .stop - 阻止冒泡
  • .prevent - 阻止默认事件
  • .capture - 阻止捕获
  • .self - 只监听触发该元素的事件
  • .once - 只触发一次
  • .left - 左键事件
  • .right - 右键事件
  • .middle - 中间滚轮事件

例子:

<!-- 阻止单击事件冒泡 -->
<a v-on:click.stop="doThis"></a>
<!-- 提交事件不再重载页面 -->
<form v-on:submit.prevent="onSubmit"></form>
<!-- click 事件只能点击一次 -->
<a v-on:click.once="doThis"></a>

实操:

<div id="app">
    <button v-on:click.once="counter += 1">增加 1</button>
    <p>这个按钮被点击了 {{ counter }} 次。</p>
</div>

添加了事件修饰符,此按钮只能点击一次

在这里插入图片描述


3.按键修饰符

Vue 允许为 v-on 在监听键盘事件时添加按键修饰符:

例如:

<!-- 只有在按住键盘enter键时调用 vm.submit() -->
<input v-on:keyup.enter="submit">

实例:

<div id="app">
    <button v-on:keyup.enter="counter += 1">增加 1</button>
    <p>这个按钮被点击了 {{ counter }} 次。</p>
</div>

此时按钮只有在选中后按住enter键才能执行 + 1 操作:

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/67485.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于jsp+ssm的驾校预约管理系统-计算机毕业设计

项目介绍 驾校预约管理系统是一个高校用来管理教员和学员的授课信息并存储档案必需的一个管理系统&#xff0c;由于时代的进步&#xff0c;它成为了一个现代化管理不可缺少的一部分。它的查询的方便简洁&#xff0c;可以为一个驾校经营者节约足够的时间&#xff0c;为驾校迅速…

QWebEngine集成Netron可视化模型

Netron是一个用于可视化深度学习网络模型的工具软件&#xff0c;主体以JavaScript语言实现&#xff0c;源码在: https://github.com/lutzroeder/netron 。用户可以使用各系统平台的安装包进行安装之后使用&#xff0c;也可以用浏览器使用在线版本: Netron。 Netron支持几乎所有…

ChatGPT 和 Midjourney 将改变我们的生活,日常工作流程将完全改变并与这些新型工具集成

上周末我花了很多时间先玩 Open AI ChatGPT,然后玩 Midjourney。起初我笑了,然后我开始完全被各种可能性所困扰,然后我终于意识到了它的潜力,并开始将其用于更有成效的工作。 注意:我本可以用它来制作一个引人入胜的点击诱饵标题,但我没有. 这是我问 Open AI 聊天的第一…

在python中调用ChatGPT,并使用tkinter打包成exe

在python中调用ChatGpt一、前提1. 安装库2. 获取key3. 调用示例二、tkinter桌面应用网页使用与python使用的对比用它来搜题你将会知道什么叫爽一、前提 小伙伴们都知道&#xff0c;最近这两天ChatGpt最近很火爆&#xff0c;更重要的是他对中文的兼容性很好&#xff0c;比如我问…

以“社交和品质”打通长线运营,UTONMOS打造真正的Web3.0链游破圈之作

元宇宙&#xff08;Metaverse&#xff09;&#xff0c;这个来源于科幻小说的概念已成为真实世界中的流行语。在大众对元宇宙的构想中&#xff0c;" 游戏 " 是优先级最高的落地场景之一。《头号玩家》《赛博朋克 2077》等作品中&#xff0c;" 游戏 " 也多次…

【20221206】【每日一题】01背包的基础

思路&#xff1a; 二维数组 动规五部曲 1、确定dp数组以及下标含义&#xff1a;二维数组dp[i][j]表示从下标为0-i的物品里任意取&#xff0c;放入容量为j的背包&#xff0c;价值总和最大为多少&#xff1b; 2、确定递推关系式&#xff1a;从两个方向推dp[i][j]&#xff0c;没…

CSS 之 渐变色边框

一、渐变色边框 如果我们前端最亲爱的UI设计师&#xff0c;让我们给盒子绘制一个渐变色的边框&#xff0c;而且盒子的宽高还需要随着内容变化而变化&#xff0c;那我们就不能通过切图来解决问题&#xff0c;所以我们可以这么说&#xff1a; 但是我相信优秀的你肯定不会说做不…

如何删除密码?知道密码和不知道密码的情况

压缩包设置了密码&#xff0c;就需要输入压缩包密码才能顺利解压文件。 有些时候我们加密了压缩包之后&#xff0c;过了一段时间可能就不需要再加密压缩包里的文件了。 有些时候我们加密了压缩包之后&#xff0c;长时间没有使用&#xff0c;又没有将密码记录在一个地方&#…

基于 LSTM 的分布式能源发电预测(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️❤️&#x1f4a5;&#x1f4a5;&#x1f4a5; &#x1f389;作者研究&#xff1a;&#x1f3c5;&#x1f3c5;&#x1f3c5;主要研究方向是电力系统和智能算法、机器学…

CNAME记录和A记录

文章目录定义CNAME使用说明总结定义 A记录&#xff1a;A (Address) 记录是用来指定主机名&#xff08;或域名&#xff09;对应的IP地址记录。CNAME记录&#xff1a;CName记录是Canonical Name的简称&#xff0c;通常称别名指向&#xff0c;CNAME记录可用于将一个域名别名为另一…

太强了!GitHub大佬白嫖的SpringCloud微服务进阶宝典,啃完感觉能吊锤面试官!

自 2014 年起&#xff0c;微服务技术一直火热至今。随着越来越完善的微服务技术栈的发布&#xff0c;以及越来越多的微服务项目实际的落地和上线&#xff0c;使用 Java 技术栈的企业应该都在尝试或者已经落地了各自的微服务项目。同时&#xff0c;通过招聘网站的信息和每次面试…

如何用蓝牙实现无线定位(五)--双定位显示

1. 机器人定位装置的构建 按照上面的针脚使用杜邦线将救援机器人定位装置的主从蓝牙连接到主控板上&#xff0c;注意错误的连接会导致模块损坏【参考视频】 2. 机器人位置的获取与发送 (1) 在机器人定位装置的控制板中烧录以下程序&#xff08;robot.ino&#xff09; /*-----…

深度解读汽车域控制器

已剪辑自: https://mp.weixin.qq.com/s?__bizMzg4NjIxODk4Mg&mid2247496089&idx1&sndb5c08f97342decfabc9ce985ec75aaa&chksmcf9fb810f8e83106994f2f2b9ca0387eaca7543d36b1673d4fc00bdfe07fbc5099322d41a702&scene21#wechat_redirect * * 过去十多年的…

华为机试-字符串合并处理

描述 按照指定规则对输入的字符串进行处理。 详细描述 第一步&#xff1a;将输入的两个字符串str1和str2进行前后合并。如给定字符串 “dec” 和字符串 “fab” &#xff0c; 合并后生成的字符串为 “decfab” 第二步&#xff1a;对合并后的字符串进行排序&#xff0c;要求…

拖拽式网页制作工具

拖拽式网页制作工具是什么&#xff0c;有什么优势&#xff0c;怎么使用&#xff1f; 拖拽式网页制作工具是什么: 它是一款可以帮助企业、机构、个体户快速搭建网站的一款工具&#xff0c;通过简单易上手的操作&#xff0c;免除学习代码、学习设计等繁琐步骤&#xff0c;利用工…

2022.12.2Treats for the Cows POJ - 3186(区间dp

原题链接&#xff1a;传送门 FJ has purchased N (1 < N < 2000) yummy treats for the cows who get money for giving vast amounts of milk. FJ sells one treat per day and wants to maximize the money he receives over a given period time. The treats are inte…

请不要直接拆除或更换旧光纤!Softing为您提供光纤以太网网络解决方案

Softing的Phoenix Digital光纤以太网网络冗余模块与传统光纤相兼容。通过使用Phoenix Digital模块&#xff0c;用户无需更换传统光纤和远程I/O设备。 升级工业网络是一项复杂的工作&#xff0c;用户需要耗费大量的时间、成本和其他资源来确保新建网络可以满足系统应用中的所有要…

Excel - 插入空白行

简单的插入一个空白行&#xff0c;只需选中一行&#xff0c;右键&#xff0c;选择插入一行即可。 如果要一次插入多个空行&#xff0c;可以按住Ctrl键&#xff0c;然后逐个选中想要插入的行&#xff0c;然后执行插入操作&#xff0c;如下所示&#xff1a; 选中张三、王五、田七…

二叉树的基本运算

二叉树的基本运算 上一讲我们已经讲了创建二叉树,所以这一讲,我们来说一下二叉树的基本运算方法,为以后二叉树的运用打下基础: (1)查找节点FindNode(*b,x): 在二叉树b中寻找data域值为x的节点,并返回指向该节点的指针 (2)找孩子节点LchildNode和Rchild-Node: 分别求二叉树中节…

逆傅里叶变IFFT原始信号恢复方法研究-附Matlab代码

一、原始信号模拟 现实中&#xff0c;由于得到的信号都是实数序列。设有实数序列x(n)&#xff0c;如下图所示 图1 原始信号 对应Matlab如下&#xff1a; %% 矩形波 N33; % 设置N长 xzeros(1,N); % 构成矩形波形 x(7:27)1; figur…