• Vue2.0开发之——Vue基础用法-事件绑定$event(20)


    一 概述

    • 事件参数对象
    • $event表示事件参数对象event
    • 事件修饰符

    二 事件参数对象

    2.1 说明

    在原生的 DOM 事件绑定中,可以在事件处理函数的形参处,接收事件参数对象 event

    2.2 示例

    布局代码

    
    
    • 1

    vue代码(默认参数event,打印此event)

    addCount(e){
           console.log(e)
    }
    
    • 1
    • 2
    • 3

    打印结果(PointerEvent)

    三 $event表示事件参数对象event

    3.1 没有事件参数时

    布局代码

    
    
    • 1

    vue代码

    addCount(e){
              this.count+=1;
              if(this.count%2==0){ //偶数
                e.target.style.backgroundColor='red'
              }else{
                e.target.style.backgroundColor=''
              }
            }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    3.2 $event表示事件参数对象

    布局代码

    
    
    • 1

    vue代码

    addCount(n,e){
              this.count+=n;
              if(this.count%2==0){ //偶数
                e.target.style.backgroundColor='red'
              }else{
                e.target.style.backgroundColor=''
              }
            }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    3.3 效果图

    四 事件修饰符

    4.1 事件修饰符

    在事件处理函数中调用 event.preventDefault() 或 event.stopPropagation() 是非常常见的需求。因此, vue 提供了事件修饰符的概念,来辅助程序员更方便的对事件的触发进行控制。常用的 5 个事件修饰符如下:

    事件修饰符说明
    .prevent阻止默认行为(例如:阻止 a 连接的跳转、阻止表单的提交等)
    .stop阻止事件冒泡
    .capture以捕获模式触发当前的事件处理函数
    .once绑定的事件只触发1次
    .self只有在 event.target 是当前元素自身时触发事件处理函数

    4.2 .prevent示例

    未使用vue标签

    布局代码

    跳转到百度首页
    
    • 1

    vue代码(使用了preventDefault)

    show(e){
            e.preventDefault()
            console.log('点击了a标签')
    }
    
    • 1
    • 2
    • 3
    • 4
    使用vue标签.prevent

    布局代码

    跳转到百度首页
    
    • 1

    vue代码

    show(e){
            console.log('点击了a标签')
    }
    
    • 1
    • 2
    • 3
    效果图

    4.3 .stop示例(阻止冒泡)

    未使用vue标签

    布局代码

    • 1
    • 2
    • 3

    vue代码

    btnHandle(e){
            e.stopPropagation()
            console.log('btnHandle')
    },
    divHandle(){
            console.log('divHandle')
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    使用vue标签.stop

    布局代码

     
    • 1
    • 2
    • 3

    vue代码

    btnHandle(){
            console.log('btnHandle')
          },
    divHandle(){
            console.log('divHandle')
          }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    效果图

  • 相关阅读:
    Kubernetes技术与架构-网络 3
    3.1数据结构和序列(利用Python进行数据分析)
    matlab simulink球杆控制系统的模糊PID控制设计
    爆改YOLOV7的detect.py制作成API接口供其他python程序调用(超低延时)
    【Redis安装】Ubuntu和Centos
    C语言_用于ADC数据的均值滤波算法
    Python---类型注解
    python录制屏幕小工具,已调试成功运行
    Redis主从复制
    SVN下载上传文件
  • 原文地址:https://blog.csdn.net/Calvin_zhou/article/details/127877823