v-on的介绍

  • 在Vue中,常使用v-on指令用于监听事件的发生,v-on指令就类似于JavaScript中的addEvelistener()方法

v-on的基本使用

<div id="app">
<h2>{{counter}}</h2>
<!-- 监听一个click鼠标点击事件 -->
<button v-on:click="increment">+</button>
<!-- v-on:的语法糖写法@ -->
<button @click="decrement">-</button>
</div> <script type="text/javascript">
const app = new Vue({
el: '#app',
data: {
counter: 0
},
methods: {
increment() { 
this.counter++;
},
decrement() {
this.counter--;
}
}
})
</script>

v-on参数传递问题

  • 当通过methods中定义方法,以供@click调用时,需要注意参数问题:

    • 如果该方法不需要额外参数,可以省略方法后的()
    • 默认会将原生事件event作为额外参数传递进去
<button @click="btn2Click">按钮2</button>
<button @click="btn3Click(123)">按钮3</button> <script type="text/javascript">
const app = new Vue({
methods: {
btn2Click(event) {
console.log('..........', event); //MouseEvent {...}
},
btn3Click(a,event) {
console.log('..........', a, event); //123,MouseEvent {...}
},
btn3Click(a) {
console.log('..........', a); //123
}
}
})
</script>

v-on修饰符

  • Vue为我们提供了修饰符,这些修饰符可以帮助我们更方便的处理一些事件

①.stop

  • 阻止冒泡

    • 事件默认会由内向外依次触发。绑定.stop修饰符前,点击按钮后控制台会依次输出btnClick、keyUp、divClick,绑定.stop修饰符后,会阻止冒泡,因此控制台只会输出btnClick
<div id="app" @click="divClick" :style="{height:'400px', width:'400px', border:'1px solid green'}">
<!-- 当点击按钮时,不会触发div的事件 -->
<div @click="keyup" :style="{height:'200px', width:'200px', border:'1px solid red'}">
<button @click.stop="btnClick">按钮</button>
</div>
</div>
<script type="text/javascript">
const app = new Vue({
methods: {
divClick(){
console.log('divClick');
},
btnClick(){
console.log('btnClick');
},
submitClick(){
console.log('submitClick');
},
keyup(){
console.log('keyUp');
}
}
})
</script>

②.prevent

  • 阻止浏览器默认行为

    • 当点击提交按钮时,浏览器会默认将数据提交到服务器,绑定修饰符prevent后可以阻止这个默认行为,数据便能正常输出到控制台
<div>
<form action="baidu">
<input type="submit" value="提交" @click.prevent="submitClick"/>
</form>
</div>

③.{keyCode | keyAlias}

  • 监听键盘的键帽,当特定按键按下时触发
<!-- 当按下回车键才会触发keyUp事件 -->
<input type="text" @keyup.enter="keyUp"/>
<input type="text" @keyup.13="keyUp"/>

④ .once

  • 只会触发一次回调
<!-- btn2Click事件只会触发一次 -->
<button @click.once="btn2Click">按钮2</button>

⑤.native

  • 监听组件根元素的原生事件,可以使组件同样可以监听事件

<!-- 点击组件back-top时也会触发backClick事件 -->
<back-top @click.native="backClick"></back-top>

v-on精炼的更多相关文章

  1. 合金装备V 幻痛 制作技术特辑

    合金装备V:幻痛 制作特辑 资料原文出自日版CGWORLD2015年10月号   在[合金装备4(Metal Gear Solid IV)]7年后,序章作品[合金装备5 :原爆点 (Metal Gea ...

  2. J a v a 的“多重继承”

    接口只是比抽象类“更纯”的一种形式.它的用途并不止那些.由于接口根本没有具体的实施细节——也就是说,没有与存储空间与“接口”关联在一起——所以没有任何办法可以防止多个接口合并到一起.这一点是至关重要的 ...

  3. Exception in thread "main" java.lang.NoSuchMethodError: org.objectweb.asm.ClassWriter.<init>(I)V

    在学习CGlib动态代理时,遇到如下错误: Exception in thread "main" java.lang.NoSuchMethodError: org.objectwe ...

  4. [Erlang 0118] Erlang 杂记 V

       我在知乎回答问题不多,这个问题: "对你职业生涯帮助最大的习惯是什么?它是如何帮助你的?",我还是主动回答了一下.    做笔记 一开始笔记软件做的不好的时候就发邮件给自己, ...

  5. v$session中server为none与shared值解析

    查询V$SESSION,你会看到SERVER可能会有DEDICATED| SHARED| PSEUDO| NONE 四种值,如果SERVER字段的值除了DEDICATED,还有NONE,则说明当前实例 ...

  6. 引用js或css后加?v= 版本号的用法

    <span style="font-size:14px;">css和js带参数(形如.css?v=与.js?v= 或 .css?version=与.js?version ...

  7. 操作系统中的P,V操作(转)

    无论是计算机考研.计算机软件水平考试.计算机操作系统期末考试还是其他计算机岗位考试,P.V原语操作都是一个常考点.下面笔者总结了关于P.V操作的一些知识. 信号量是最早出现的用来解决进程同步与互斥问题 ...

  8. 关于P,V操作理解的突破,关于并发设计与并行

    今天又找了一篇博客研究P,V操作.. 发现..它有一个变量没有声明.. 我就换了篇博客..http://c.biancheng.net/cpp/html/2600.html 然后就看懂了.. 关键突破 ...

  9. XV Open Cup named after E.V. Pankratiev. GP of Tatarstan

    A. Survival Route 留坑. B. Dispersed parentheses $f[i][j][k]$表示长度为$i$,未匹配的左括号数为$j$,最多的未匹配左括号数为$k$的方案数. ...

  10. XVII Open Cup named after E.V. Pankratiev. GP of SPb

    A. Array Factory 将下标按前缀和排序,然后双指针,维护最大的右边界即可. #include<cstdio> #include<algorithm> using ...

随机推荐

  1. ajax传数组后台GO语言接收

    js代码如下: function PostHandle(url,data,callback) { $.ajax({ type: "Post", url:url, data:data ...

  2. vue-cli3.0 开发环境构建

    vue-cli3.0官网 1.node版本 node版本要求node>=8.9以上(推荐 8.11.0+)使用以下命令查看node版本 node -v 如果不是最新的请到node下载下载最新版本 ...

  3. MySQL优化从执行计划开始(explain超详细)

    前言 小伙伴一定遇到过这样反馈:这页面加载数据太慢啦,甚至有的超时了,用户体验极差,需要赶紧优化: 反馈等同于投诉啊,多有几次,估计领导要找你谈话啦. 于是不得不停下手里头的活,赶紧进行排查,最终可能 ...

  4. CF524F And Yet Another Bracket Sequence 题解

    题目链接 算法:后缀数组+ST表+贪心   各路题解都没怎么看懂,只会常数巨大的后缀数组+ST表,最大点用时 \(4s\), 刚好可以过... 确定合法序列长度   首先一个括号序列是合法的必须满足以 ...

  5. 在 .NET Core 5 中集成 Create React app

    翻译自 Camilo Reyes 2021年2月22日的文章 <Integrate Create React app with .NET Core 5> [1] Camilo Reyes ...

  6. javascript 取自己

    var own=docment.currentScript;

  7. 201871030125-王芬 实验二 个人项目-《D{0-1}问题》软件项目报告

    实验二 个人项目-<D{0-1}问题>软件项目报告 项目 内容 课程班级博客链接 https://edu.cnblogs.com/campus/xbsf/2018CST 这个作业要求链接 ...

  8. 消息中间件-RabbitMQ集群和高可用

    多机多节点集群部署 一. 环境准备 准备三台安装好RabbitMQ 的机器,安装方法见 安装步骤 10.10.1.41 10.10.1.42 10.10.1.43 提示:如果使用虚拟机,可以在一台VM ...

  9. 数据结构之LinkedList | 让我们一块来学习数据结构

    highlight: monokai theme: vue-pro 上一篇文章中使用列表(List)对数据排序,当时底层储存数据的数据结构是数组.本文将讨论另外一种列表:链表.我们会解释为什么有时链表 ...

  10. 基于MATLAB的手写公式识别(8)

    从一个无知角落里开始,蹒跚学步,一个未知到另一个未知,在跌跌撞撞中越走越快,越走越远,最后宇宙也为之开源.对于探索者来说,最后他们的思想总是变得和自己的足迹一样伟大.   1.图像的预处理 1.1图像 ...