Vue框架学习笔记——事件处理:v-on指令+methods

文章目录

  • 前文提要
  • 事件处理的解析过程,v-on:事件名
    • 样例代码如下:
    • 效果展示图片:
    • v-on:事件名="响应函数"
    • v-on简写形式
    • 响应函数添加
    • 响应函数传参
    • 占位符"$event"
    • 注意事项


前文提要

本人仅做个人学习记录,如有错误,请多包涵


事件处理的解析过程,v-on:事件名

使用v-on指令为标签绑定事件,例如v-on:click能够为标签添加鼠标点击事件。
在这里插入图片描述
在绑定了事件之后,可以为其添加回调函数,响应这个事件。
当然,你完全可以不添加回调函数,不响应事件。
下面是为按钮提供鼠标点击时候的响应事件的处理函数。

样例代码如下:

<body><div id="box"><h2>哈哈,{{name}}</h2><button v-on:click="showInfo">点我提示信息</button></div><script type="text/javascript">Vue.config.productionTip = falseconst vm = new Vue({el: '#box',data: {name: '这里是name的值',},methods: {showInfo() {console.log('你好')}}})</script>
</body>

效果展示图片:

在这里插入图片描述

v-on:事件名=“响应函数”

以鼠标点击事件click举例首先是通过下列代码:

<button v-on:click="showInfo">点我提示信息</button>

在标签中加入v-on:click指令,添加事件的处理,然后为其添加响应函数,字符串中的就是响应函数的名字。

v-on简写形式

v-on指令可以简写为@
例如:v-on:click可以简写为@clickv-on:keydown可以简写为@keydown

响应函数添加

需要在Vue实例中增加一个配置属性methods,如同下面代码一样。
mothods属性中,不用加上function,因为这里写的都是函数,所以不必加上function;可以写多个函数,不是只能写一个,但是需要注意不要写成箭头函数,箭头函数中没有this,this指向的就是全局的window。

  <script type="text/javascript">Vue.config.productionTip = falseconst vm = new Vue({el: '#box',data: {name: '这里是name的值',},methods: {showInfo() {console.log('你好')}}})</script>

扯开话题,谈一些标签中回调函数的一些理解


<div id="box"><h2>哈哈,{{name}}</h2><button v-on:click="showInfo">点我提示信息</button>
</div>

这里写的是showInfo,其等价于showInfo(),也等价于showInfo($event)

回到正题,如果其余代码不改,只修改showInfo中的代码,改为:

showInfo() {console.log(event)
}

呈现效果如下:
在这里插入图片描述

默认会传一个当前事件的对象,通过event.target可以访问触发事件的元素
将上述代码中的部分改为这样即可:

console.log(event.target)

呈现效果如下:
在这里插入图片描述
还可以通过event.target.value访问带有value属性的元素的value值。

响应函数传参

如果需要响应函数传参直接在函数的括号中直接修改即可,例如把button中的代码改为:

<button v-on:click="showInfo(6)">点我提示信息</button>

methods中的函数改为:

 showInfo(a) {console.log(a)
}

呈现效果如下:
在这里插入图片描述
这样做可以传递参数,但是会丢失之前默认传参中的event,这里就不做展示了。
可以修改上面的代码来让event不丢失,那就是使用占位符"$event"

占位符"$event"

<button v-on:click="showInfo($event,6)">点我提示信息</button>

methods中的函数改为:

 showInfo(e,a) {console.log(e,'~~~',a)
}

在这里插入图片描述
从这里能看见’~~~'前面输出了事件,后面跟着一个6,event也没有丢失,6也正常传递了。
使用$event会更加灵活,能够传递更多的采纳数

注意事项

methods后面是配置对象,理论上data后面也是配置对象,函数也可以写道data中去,但是不建议这么做。
之前的数据代理中提到,data中的数据都会经过数据代理再在Vue实例中创建一个新的属性,函数不需要做数据代理,也就没必要写在data中。
如果在data中写了函数,做了数据代理,只会占用更多的资源。
methods不会做数据代理。


至此,结束。

如果你觉得这篇文章写的不错,多多点赞~收藏吧!

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

代码随想录算法训练营第35天| 860.柠檬水找零 406.根据身高重建队列 452. 用最少数量的箭引爆气球

JAVA代码编写 860.柠檬水找零 在柠檬水摊上&#xff0c;每一杯柠檬水的售价为 5 美元。顾客排队购买你的产品&#xff0c;&#xff08;按账单 bills 支付的顺序&#xff09;一次购买一杯。 每位顾客只买一杯柠檬水&#xff0c;然后向你付 5 美元、10 美元或 20 美元。你必须…

手把手实操分享:1天开发一个教育类App!我是怎么办到的

最近项目组接了一个开发教育类APP的需求&#xff0c;经典要求&#xff1a;多快好省&#xff08;功能样样有、项目要得急、还得低成本&#xff09;手动&#x1f436;。组长开始让调研一下给个方案&#xff0c;结果我啃哧啃哧1天就搞出来了&#xff0c;目前运行良好。在此记录一下…

【Linux专题】http(s)代理

【赠送】IT技术视频教程&#xff0c;白拿不谢&#xff01;思科、华为、红帽、数据库、云计算等等_厦门微思网络的博客-CSDN博客文章浏览阅读444次。风和日丽&#xff0c;小微给你送福利~如果你是小微的老粉&#xff0c;这里有一份粉丝福利待领取...如果你是新粉关注到了小微&am…

【Flutter】graphic图表的快速上手

简介 graphic是一个数据可视化语法和Flutter图表库。 官方github示例 网上可用资源很少,只有作者的几篇文章,并且没有特别详细的文档,使用的话还是需要一定的时间去调研,在此简单记录。 示例 以折线图为例(因为我只用到了折线图,但其他的图大差不差) 创建一个两个文…

2023-简单点-机器学习中常用的特殊函数,激活函数[sigmoid tanh ]

机器学习中的特殊函数 Sigmoidsoftplus函数tanhReLu(x)Leaky-ReluELUSiLu/ SwishMish伽玛函数beta函数Ref Sigmoid 值域: 【0,1】 定义域&#xff1a;【负无穷,正无穷】 特殊点记忆&#xff1a; 经过 [0 , 0.5] 关键点[0,0.5]处的导数是 0.025 相关导数&#xff1a; softplu…

地大与明道云的实践:零代码产教融合与协同育人

摘要 中国地质大学&#xff08;武汉&#xff09;与明道云合作&#xff0c;通过建设数字学院的方式&#xff0c;塑造教育数字化新动能。具体实践包括&#xff1a; 联合建设数字学院&#xff1a;选择经济管理学院作为试点&#xff0c;通过统筹规划、统一标准、分步实施的方式&a…

Spring(2):Spring事务管理机制

Spring事务管理高层抽象主要包括3个接口&#xff0c;Spring的事务主要是由他们共同完成的&#xff1a; PlatformTransactionManager&#xff1a;事务管理器—主要用于平台相关事务的管理。TransactionDefinition&#xff1a; 事务定义信息(隔离、传播、超时、只读)—通过配置如…

EOCR-PFZ数码型产品与控制柜主回路的连接方式

上海韩施电气自动化设备有限公司 施耐德EOCR新一代数码型电动机保护器具有体积小、精度高、抗干扰能力强等特点。为方便安装&#xff0c;EOCR数码型产品与控制柜主回路的连接具有多种方式&#xff0c;分别是&#xff1a;窗口型、贯穿性和端子型。 窗口型&#xff08;韩施电气…

静态方法和属性的经典使用-单例设计模式

单例设计模式 一、设计模式二、单例模式1、饿汉式2、懒汉式3、区别 单例设计模式是静态方法和属性的经典使用。 一、设计模式 设计模式是在大量的实践中总结和理论化之后优选的代码结构、编程风格、以及解决问题的思考方式。设计模式就像是经典的棋谱&#xff0c;不同的棋局&…

蚁剑低版本反制

蚁剑低版本反制 漏洞概述 中国蚁剑是一款开源的跨平台网站管理工具&#xff0c;它主要面向于合法授权的渗透测试安全人员以及进行常规操作的网站管理员。影响范围 AntSword <2.0.7 蚁剑实验版本&#xff1a;2.0.7 环境搭建&#xff1a; 172.16.1.233&#xff08;蓝队服…

Numpy进阶

NumPy进阶80题完整版

The module to import is incompatible with the current project【鸿蒙开发-BUG已解决】

文章目录 项目场景:问题描述原因分析:解决方案:心得体会:知识点OpenHarmony:HarmonyOS:项目场景: 报错: The module to import is incompatible with the current project 问题描述 希望通过 import module 将该模块引入到我的项目。 导入后出现错误,因为项目和模块…