好家伙,补基础加实践

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的绑定事件和修饰符的更多相关文章

  1. 第六十二篇:Vue的双向绑定与按键修饰符

    好家伙,依旧是vue的基础 1.按键修饰符 假设我们在一个<input>框中输入了12345,我们希望按一下"Esc" 然后删除所有前面输入的内容,这时候,我们会用到按 ...

  2. vue for 绑定事件

    vue for 绑定事件 <div id="pro_list" v-for="item in pro_list"> <div class=&q ...

  3. Vue.js学习笔记之修饰符详解

    本篇将简单介绍常用的修饰符. 在上一篇中,介绍了 v-model 和 v-on 简单用法.除了常规用法,这些指令也支持特殊方式绑定方法,以修饰符的方式实现.通常都是在指令后面用小数点“.”连接修饰符名 ...

  4. vue-learning:28 - component - 组件事件的修饰符`.native / .sync`,以及组件属性`model`

    组件事件的修饰符.native / .sync,以及组件属性model .native 原生事件修饰符 在一个组件中,如果我们为其绑定一个原生的点击事件@click,基本是无效的. 在vue中对组件绑 ...

  5. VUE3 之 多个 v-model 绑定及 v-model 修饰符的使用 - 这个系列的教程通俗易懂,适合新手

    1. 概述 洛克定律告诉我们: 当我们的目标很远大,远到我们都看不到终点时,放弃几率就会很大,就像跑马拉松比赛,由于时间长.距离长,很多选手都会选择在中途放弃. 其实有个好办法,就是拆分,把大目标拆分 ...

  6. Vue 监听键盘,键盘修饰符keyup

    附录:键盘Key Code对照表 代码: <!doctype html> <html lang="en"> <head> <meta ch ...

  7. vue 学习三 v-model 表单绑定输入 以及修饰符的用处

    v-model 指定使用过vue的同学都应该是很熟悉的了,这里就不多介绍,本章主要就是记录一些v-model非常实用的修饰符和对于v-model在html文本框,多行文本框,选择框,单选框,复选框上对 ...

  8. Vue中监听 键盘事件及修饰符

    键盘事件: keyCode 实际值 48到57     0 - 9 65到90           a - z ( A-Z ) 112到135       F1 - F24 8            ...

  9. vue - @click 用到的修饰符

    1.vue提供的方法 .stop .prevent .capture .self .once .passive <!-- 阻止单击事件继续传播 --><a v-on:click.st ...

随机推荐

  1. 这就是艺术「GitHub 热点速览 v.22.25」

    作者:HelloGitHub-小鱼干 不知道写了那么久代码的你,是否还记得"代码写诗"这个词,它是用来形容代码的优雅.但是本周的项目,虽然你看到的是代码的成品,也会惊讶于它的艺术感 ...

  2. 你真的很了解printf函数吗?

    对C语言中经常使用的printf这个库函数,你是否真的吃透了呢? 系统化的学习C语言程序设计,是不是看过一两本C语言方面的经典著作就足够了呢?答案是显而易见的:不够.通过这种典型的入门级的学习方式,是 ...

  3. Vue回炉重造之三次封装axios

    源码目录 在src目录下建立一个request文件夹.里面建立两个文件: http.js api.js 源码内容 http.js import axios from 'axios' // 引入axio ...

  4. SAP 时区转换

    DATA:l_tzone TYPE tzonref-tzone.   "TIME ZONE    DATA:l_timesp TYPE tzonref-tstamps."TIME  ...

  5. Linux系统安全配置

    1.物理安全 硬件服务器,关闭从CD/DVD等这些方面的软启动方式.同时也可以设置BIOS密码,并且要有限制访问的策略与各类流程管控. 还可以禁用USB设备来达到安全的目的: centos7x 安装d ...

  6. Task.Run(), Task.Factory.StartNew() 和 New Task() 的行为不一致分析

    重现 在 .Net5 平台下,创建一个控制台程序,注意控制台程序的Main()方法如下: static async Task Main(string[] args) 方法的主体非常简单,使用Task. ...

  7. nifi从入门到实战(保姆级教程)——flow

    本文章首发于博客园,转载请标明出处 经过前两篇文章(环境篇,身份验证),我们已经有了nifi可以运行的基础,今天就来实现一个案例吧. 假设我们要从ftp上获取一个zip包,里面有两个csv文件,一个是 ...

  8. Fiddler开启调试模式

    分别键入以下命令 prefs set fiddler.debug.extensions.showerrors True prefs set fiddler.debug.extensions.verbo ...

  9. 漏洞扫描工具nessus、rapid7 insightvm、openvas安装&简单使用

    Rapid7-insightvm 申请试用 申请地址 邮件地址不能用常用邮件,要使用自己域名的邮件,可以使用这个临时邮箱 手机号随便输入,10位以上 提交后会跳转下载页面 安装 安装:./Rapid7 ...

  10. springboot connecting to :mongodb://127.0..0.1:27017/test authentication failed

    账号的权限不够,可能是insert进去的脚本的角色有问题 use admin db.createUser({user:'账号',pwd:'密码',roles:[{role:'userAdminAnyD ...