第六十一篇:Vue的绑定事件和修饰符
好家伙,补基础加实践
1.绑定事件
我们使用v-on(简写为@)来绑定事件
写个例子,
按钮绑定数字加一(太tm经典了)
在<button>元素中使用@点击事件绑定方法"的"add"(方法可传参)
<div id="app">
差值语法{{count}}
<div>count的值为:{{count}}</div>
<button @click="add(1)">是兄弟就来点我,点我加一</button>
</div> <script>
const vm = new Vue({
el:'#app',
data:{ count:1, },
methods:{ add(n){
this.count =this.count + n,
console.log(n)
}
}
}) </script>

2.默认事件
现在假设我们要实现一个按钮变色的功能
2.1.找DOM元素
我们先让控制台去打印一个默认事件,
将add处的参数改掉,然后"console.log(e)"会将"e"作为默认事件打印出来
<div id="app">
差值语法{{count}}
<div>count的值为:{{count}}</div>
<button @click="add">是兄弟就来点我,点我加一</button>
</div>
<script>
const vm = new Vue({
el:'#app',
data:{
count:1,
},
methods:{
add(e){
this.count =this.count + 1,
console.log(e)
}
}
})
</script>
随后在这个事件中找到他的DOM元素

然后对代码稍作更改
<div id="app">
差值语法{{count}}
<div>count的值为:{{count}}</div>
<button @click="add">是兄弟就来点我,点我加一</button>
</div>
<script>
const vm = new Vue({
el:'#app',
data:{ count:1, },
methods:{ add(n){
this.count =this.count + 1,
console.log(n) if(this.count%2===0){
n.target.style.backgroundColor ='red'
}else{
n.target.style.backgroundColor ='' } }
} }) </script>
搞定,

2.2.$event
如果"add"方法中我们需要传参,那么就无法直接使用"console.log(e)"直接打印默认事件了
但是我们有$event
vue提供了内置变量,名字叫做$event,他就是原生DOM的事件对象e
使用方法:
<button @click="add(n,$event)">是兄弟就来点我,点我加一</button>
add(n,e){
this.count =this.count + n,
console.log(n)
}
3.事件修饰符
在事件处理函数中调用 event.preventDefault() 或 event.stopPropagation()是非常常见的需求
。因此,vue 提供了事件修饰符的概念,来辅助程序员更方便的对事件的触发进行控制。常用的5个事件修饰符如下:
修饰符 说明
.prevent 阻止默认行为(例如:阻止a连接的跳转、阻止表单的提交等)
.stop 阻止事件冒泡.
.capture 以捕获模式触发当前的事件处理函数
.once 绑定的事件只触发1次
.self 只有在event.target是当前元素自身时触发事件处理函数
其中.prevent最常用
举个例子(实现阻止页面跳转)
<a href="http://www.baidu.com" @click.prevent="show">百度一下</a>

点击也无法进行跳转了
That's all
第六十一篇:Vue的绑定事件和修饰符的更多相关文章
- 第六十二篇:Vue的双向绑定与按键修饰符
好家伙,依旧是vue的基础 1.按键修饰符 假设我们在一个<input>框中输入了12345,我们希望按一下"Esc" 然后删除所有前面输入的内容,这时候,我们会用到按 ...
- vue for 绑定事件
vue for 绑定事件 <div id="pro_list" v-for="item in pro_list"> <div class=&q ...
- Vue.js学习笔记之修饰符详解
本篇将简单介绍常用的修饰符. 在上一篇中,介绍了 v-model 和 v-on 简单用法.除了常规用法,这些指令也支持特殊方式绑定方法,以修饰符的方式实现.通常都是在指令后面用小数点“.”连接修饰符名 ...
- vue-learning:28 - component - 组件事件的修饰符`.native / .sync`,以及组件属性`model`
组件事件的修饰符.native / .sync,以及组件属性model .native 原生事件修饰符 在一个组件中,如果我们为其绑定一个原生的点击事件@click,基本是无效的. 在vue中对组件绑 ...
- VUE3 之 多个 v-model 绑定及 v-model 修饰符的使用 - 这个系列的教程通俗易懂,适合新手
1. 概述 洛克定律告诉我们: 当我们的目标很远大,远到我们都看不到终点时,放弃几率就会很大,就像跑马拉松比赛,由于时间长.距离长,很多选手都会选择在中途放弃. 其实有个好办法,就是拆分,把大目标拆分 ...
- Vue 监听键盘,键盘修饰符keyup
附录:键盘Key Code对照表 代码: <!doctype html> <html lang="en"> <head> <meta ch ...
- vue 学习三 v-model 表单绑定输入 以及修饰符的用处
v-model 指定使用过vue的同学都应该是很熟悉的了,这里就不多介绍,本章主要就是记录一些v-model非常实用的修饰符和对于v-model在html文本框,多行文本框,选择框,单选框,复选框上对 ...
- Vue中监听 键盘事件及修饰符
键盘事件: keyCode 实际值 48到57 0 - 9 65到90 a - z ( A-Z ) 112到135 F1 - F24 8 ...
- vue - @click 用到的修饰符
1.vue提供的方法 .stop .prevent .capture .self .once .passive <!-- 阻止单击事件继续传播 --><a v-on:click.st ...
随机推荐
- 这就是艺术「GitHub 热点速览 v.22.25」
作者:HelloGitHub-小鱼干 不知道写了那么久代码的你,是否还记得"代码写诗"这个词,它是用来形容代码的优雅.但是本周的项目,虽然你看到的是代码的成品,也会惊讶于它的艺术感 ...
- 你真的很了解printf函数吗?
对C语言中经常使用的printf这个库函数,你是否真的吃透了呢? 系统化的学习C语言程序设计,是不是看过一两本C语言方面的经典著作就足够了呢?答案是显而易见的:不够.通过这种典型的入门级的学习方式,是 ...
- Vue回炉重造之三次封装axios
源码目录 在src目录下建立一个request文件夹.里面建立两个文件: http.js api.js 源码内容 http.js import axios from 'axios' // 引入axio ...
- SAP 时区转换
DATA:l_tzone TYPE tzonref-tzone. "TIME ZONE DATA:l_timesp TYPE tzonref-tstamps."TIME ...
- Linux系统安全配置
1.物理安全 硬件服务器,关闭从CD/DVD等这些方面的软启动方式.同时也可以设置BIOS密码,并且要有限制访问的策略与各类流程管控. 还可以禁用USB设备来达到安全的目的: centos7x 安装d ...
- Task.Run(), Task.Factory.StartNew() 和 New Task() 的行为不一致分析
重现 在 .Net5 平台下,创建一个控制台程序,注意控制台程序的Main()方法如下: static async Task Main(string[] args) 方法的主体非常简单,使用Task. ...
- nifi从入门到实战(保姆级教程)——flow
本文章首发于博客园,转载请标明出处 经过前两篇文章(环境篇,身份验证),我们已经有了nifi可以运行的基础,今天就来实现一个案例吧. 假设我们要从ftp上获取一个zip包,里面有两个csv文件,一个是 ...
- Fiddler开启调试模式
分别键入以下命令 prefs set fiddler.debug.extensions.showerrors True prefs set fiddler.debug.extensions.verbo ...
- 漏洞扫描工具nessus、rapid7 insightvm、openvas安装&简单使用
Rapid7-insightvm 申请试用 申请地址 邮件地址不能用常用邮件,要使用自己域名的邮件,可以使用这个临时邮箱 手机号随便输入,10位以上 提交后会跳转下载页面 安装 安装:./Rapid7 ...
- springboot connecting to :mongodb://127.0..0.1:27017/test authentication failed
账号的权限不够,可能是insert进去的脚本的角色有问题 use admin db.createUser({user:'账号',pwd:'密码',roles:[{role:'userAdminAnyD ...