【Vue】学习笔记-事件处理

news2025/2/25 16:28:21

事件的基本用法

  1. 使用v-on:xxx 或@xxx 绑定事件,其中xxx是事件名
  2. 事件的回调需要配置在methods对象中,最终会在vm上
  3. methods中配置的函数,不要用箭头函数,否则this就不是vm了
  4. methods中配置的函数,都是被vue所管理的函数。this的指向是vm或组件实例对象:
  5. @click="demo"和click=“demo($event)” 效果一致,但后者可以传参;
    <div id="root">
        <h1>欢迎来到{{name}}学习</h1>
        <!-- <button v-on:click="showInfo">点我提示信息</button>-->
        <button @click="showInfo1">点我提示信息(不传参)</button>
        <button @click="showInfo2($event,66)">点我提示信息(传参)</button>
    </div>
    <script type="text/javascript">
        Vue.config.productionTip =false 
        
        new Vue({
            el:'#root', 
            data:{ 
                name:'赛特勒'
            },
            methods:{
                 showInfo1(event){
                    //alert('朋友你好')
                    //console.log(event.target.innerText)
                    //console.log(this) //此处的this是vm
                    alert('朋友你好!')
                },
                showInfo2(event,number){
                    //alert('朋友你好')
                    console.log(number)
                    console.log(event,event.target.innerText)
                    //console.log(this) //此处的this是vm
                   
                    alert('朋友你好!!')
                }
            }
        })

    </script>

在这里插入图片描述

事件修饰符

  1. prevent 阻止默认事件(常用)
  2. stop 阻止事件冒泡(常用)
  3. once: 事件只触发一次(常用)
  4. capture: 使用事件的捕获模式
  5. Self: 只有event.target是当前操作的元素是才触发事件:
  6. passive: 事件的默认行为立即执行。无需等待事件回调执行完毕;

修饰符可以连续写,比如可以这样用: @click.prevent.stop=“showInfo”>

<div id="root">
        <h1>欢迎来到{{name}}学习</h1>
        <a href="http://www.atguigu.com" @click.prevent="showInfo">点我提示信息</a>
        <!--阻止事件冒泡(常用)-->
        <div class="demo1" @click="showInfo">
            <button @click.stop="showInfo">点我提示信息</button>
        </div>
             <!--事件只触发一次-->
        <button @click.once="showInfo">点我提示信息</button>
          <!--使用事件的捕获模式-->
        <div class="box1" @click.capture="showMsg(1)">
            div1
            <div class="box2" @click="showMsg(2)">
                div2
            </div>
        </div>

        <!--self-->
        <div class="demo1" @click.self="showInfo">
            <button @click="showInfo">点我提示信息</button>
        </div>
        <!--事件的默认行为立即执行,无须等待事件回调执行完毕:-->
        <ul @wheel="demo" class="list">
            <li>1</li>
            <li>2</li>
            <li>3</li>
            <li>4</li>
        </ul>
    </div>

    <script type="text/javascript">
        Vue.config.productionTip = false

        new Vue({
            el: '#root',
            data: {
                name: '赛特勒'
            },
            methods: {
                showInfo(e) {
                    //e.stopPropagation() 阻止冒泡
                    console.log(e.target)
                    //alert('朋友你好!')
                },
                showMsg(msg) {
                    console.log(msg)
                },
                demo(e) {
                    console.log('@')
                },


            }
        })

    </script>

键盘事件

键盘上的每一个按键都有自己的名称和编码,例如:Enter(13).而Vue还对一些常用的按键起了别名方便使用。

  1. Vue中常用的按键别名:
    回车 =>enter
    删除 =>delete (捕获“删除”和“退格”键)
    退出 =>esc
    空格 =>space
    换行 =>tab
    上=>up
    下=>down
    左=>left
    右=>right
  2. Vue未提供别名的按键,可以使用按键原始的key值取绑定,但注意要转为kebab-case(短横线命名)
  3. 系统修饰键(用法特殊):ctrl,alt,shift,meta
    (1)配合keyup使用;按下修饰键的同事,再按下其他键,随后释放其他键,事件才被触发
    (2)配合keydown使用:正常触发事件。
  4. 也可以使用keyCode去指定具体的按键(不推荐)
  5. Vue.config.keyCodes自定义键名=键码,可以去定制按键别名
    <div id="root">
        <h1>欢迎来到.{{name}}学习</h1><!--插值语法-->
        <input type="text" placeholder="按下回车提示输入" @keyup.enter="showInfo">

        
    </div>
    <script type="text/javascript">
        Vue.config.productionTip =false //阻止生产环境的提示信息
        //创建Vue实列
        const x=new Vue({
            el:'#root', 
            data:{ 
                name:'david'

            },
            methods:{
                showInfo(e){
                    console.log(e.target.value)
                }
            }
        });

    </script>

在这里插入图片描述

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

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

相关文章

Pandas库:从入门到应用(三)——多表连接操作

一 、concat数据连接 1.1、concat()函数参数 pd.concat(objs, axis0, joinouter, ignore indexFalse, keysNone, levelsNone, namesNoneverify integrityFalse, sort False, copyTrue)objs&#xff1a;多个 DataFrame 或者 Series axis&#xff1a;0-行拼接 1-列拼接 join&am…

011:Mapbox GL两种方式隐藏logo和版权,个性化版权的声明

第011个 点击查看专栏目录 本示例的目的是介绍演示如何在vue+mapbox中用两种方式隐藏logo和版权,并个性化版权的声明 。 直接复制下面的 vue+mapbox源代码,操作2分钟即可运行实现效果 文章目录 示例效果配置方式示例源代码(共91行)相关API参考:专栏目标示例效果 配置方式…

2023高性价比学生手机选购攻略,预算不多入手这3款超值

学生党在预算不多的情况&#xff0c;想要换颜值高的新手机&#xff0c;应该选什么样的手机才实惠&#xff1f; 手机已经成为生活中的必需品&#xff0c;市场上的手机品牌和型号多种多样&#xff0c;价格逐年攀升&#xff0c;对于预算有限的学生党来说&#xff0c;在保证性能和…

编译原理期末速成笔记

哈喽大家好&#xff0c;又要考试了&#xff0c;在这里分享一下我的两天速成笔记&#xff0c;参考视频为哔站 Deeplei_ 的《编译原理期末速成》。本文仅是知识点总结&#xff0c;至于考试内容待我研究一下&#xff0c;后续我会再发文对考试的各个模块做详细分析&#xff0c;欢迎…

JavaWeb开发 —— Ajax

目录 一、介绍 二、原生Ajax 三、Axios 四、案例分析 一、介绍 ① 概念&#xff1a;Asynchronous JavaScript And XML&#xff0c;异步的JavaScript和XML。 ② 作用&#xff1a; 数据交换&#xff1a;通过Ajax可以给服务器发送请求&#xff0c;并获取服务器响应的数据。…

多元函数的基本概念——“高等数学”

各位CSDN的uu们你们好呀&#xff0c;今天&#xff0c;小雅兰的内容是多元函数的基本概念&#xff0c;下面&#xff0c;让我们一起进入多元函数的世界吧 平面点集 多元函数的概念 多元函数的极限 多元函数的连续性 有界闭区域上多元连续函数的性质 平面点集 第一个是坐标平…

中间表示- 到达定义分析

基本概念 定义&#xff08;def&#xff09;&#xff1a;对变量的赋值 使用&#xff08;use&#xff09;&#xff1a;对变量值的读取 问题&#xff1a;能把上图中的y替换为3吗&#xff1f;如果能&#xff0c;这称之为“常量传播”优化。 该问题等价于&#xff0c;有哪些对变量y…

R730服务器热插拔换磁盘(raid阵列)

r730服务器发现磁盘闪橙等&#xff0c;说明磁盘报警了&#xff0c;这时候我们就要换磁盘了。 由于本服务器磁盘是raid5的阵列磁盘&#xff0c;所以要采用热插拔的方式换磁盘。 这边要注意的是&#xff0c;不能关机的时候&#xff0c;直接来换磁盘。 因为关机换磁盘&#xff0c…

golang指针相关

指针相关的部分实在是没有搞太明白&#xff0c;抽时间来总结下。 1.指针相关基础知识 比如现在有一句话&#xff1a;『谜底666』&#xff0c;这句话在程序中一启动&#xff0c;就要加载到内存中&#xff0c;假如内存地址0x123456&#xff0c;然后我们可以将这句话复制给变量A&…

什么是服务架构?微服务架构的优势又是什么?

文章目录1.1 单体架构1.2 分布式架构1.3 微服务架构1.4 单体架构和分布式架构的区分1.4 服务架构的优劣点1.4.1 单体架构1.4.2 分布式架构1.4.3 微服务架构1.5 总结1.1 单体架构 单体架构&#xff08;Monolithic Architecture&#xff09;是一种传统的软件架构&#xff0c;它将…

算法学习day56

算法学习day561.力扣583. 两个字符串的删除操作1.1 题目描述1.2分析1.3 代码2.力扣72. 编辑距离2.1 题目描述2.2 分析2.3 代码3.参考资料1.力扣583. 两个字符串的删除操作 1.1 题目描述 题目描述&#xff1a; 给定两个单词word1和word2&#xff0c;找到使得word1和word2相同…

探索数据结构之精髓:单链表解密

文章目录1. 前言2. 单链表的特点3. 单链表的基础操作&#x1f351; 接口总览&#x1f351; 初始化操作&#x1f351; 插入操作&#x1f345; 优化操作&#x1f351; 删除操作&#x1f345; 优化操作&#x1f351; 获取元素&#x1f345; 按置查找&#x1f345; 按值查找&#x…

从C出发 20 --- 函数参数深度剖析

我们在编写这个函数的时候参数 n 的值具体是多少&#xff1f; 在编写一个函数的时候参数值是没法确定的&#xff0c;所以将 (int n) 这个参数命名为形参 那么这个参数的值什么时候指定&#xff0c;具体函数调用的时候指定 比如 在main 里面调用 实参用来初始化形参 初始化之…

安装多个版本的Node.js的方法

要在同一台计算机上安装多个版本的Node.js&#xff0c;可以使用以下几种方法&#xff1a; 使用nvm&#xff08;Node Version Manager&#xff09;&#xff1a;nvm是一个用于管理多个Active Node.js版本的工具。您可以使用nvm轻松地在系统中安装、卸载和切换不同版本的Node.js。…

Leetcode每日一题——“消失的数字”

各位CSDN的uu们你们好呀&#xff0c;今天&#xff0c;小雅兰又开新专栏了&#xff0c;以后会在Leetcode上面进行刷题&#xff0c;尽量每天写一道&#xff0c;请大家监督我&#xff01;&#xff01;&#xff01;好啦&#xff0c;让我们进入Leetcode的世界吧 力扣 对于这道题目&a…

南卡OE Pro上线!开放式耳机新里程碑!前所未有的音质舒适双冠

当前耳机市场放眼望去几乎都是TWS的天下&#xff0c;但是大多数的蓝牙耳机都存在着以下痛点&#xff1a;长时间佩戴涨耳、出现听诊器效应、耳朵内部发痒以及与外界声音隔开缺乏安全性等等问题。 为此&#xff0c;国内智能声学品牌厂商NANK南卡针对用户的特点&#xff0c;于近日…

中小企业如何实施知识管理策略?

随着信息化建设的深入&#xff0c;IT不仅成为企业运营的基础平台&#xff0c;而且在ERP、CRM、OA等信息系统内沉淀了大量的知识&#xff0c;成为企业创新的源泉&#xff0c;大中企业信息化建设中知识管理越来越重要。 应该如何实现知识管理呢&#xff1f; 知识管理本身就属于企…

Flutter系列(七)ListView 图文列表详解

完整工程&#xff1a; Flutter系列&#xff08;四&#xff09;底部导航顶部导航图文列表完整代码_摸金青年v的博客-CSDN博客 详细解读: Flutter系列&#xff08;五&#xff09;底部导航详解_摸金青年v的博客-CSDN博客 Flutter系列&#xff08;六&#xff09;顶部导航详解_摸金青…

初学SSM时做的-IKUN图书管理系统

项目介绍 项目工具:IntelliJ IDEA 2021.2.2 图书后台管理系统&#xff0c;采用SpringBootMybatiusThymeleaf&#xff0c;页面使用Element框架&#xff0c;使用RESTful API风格编写接口。 数据库使用mysql 已实现功能 基本增删改查,联表查询 拦截器登录验证 项目技术栈 Spr…

4.15--设计模式之创建型之责任链模式(总复习版本)---脚踏实地,一步一个脚印

一、什么是责任链模式&#xff1a; 责任链模式属于行为型模式&#xff0c;是为请求创建了一个接收者对象的链&#xff0c;将链中每一个节点看作是一个对象&#xff0c;每个节点处理的请求均不同&#xff0c;且内部自动维护一个下一节点对象。 当一个请求从链式的首端发出时&a…