当前位置: 首页 > article >正文

Vue3+Vite实现工程化,事件绑定以及修饰符

我们可以使用v-on来监听DOM事件,并在事件触发时执行对应的Vue的Javascript代码。

  • 用法:v-on:click = "handler" 或简写为  @click = "handler"
  • vue中的事件名=原生事件名去掉 on 前缀  如:onClick --> click
  • handler的值可以是方法事件处理器,也可以是内联事件处理器
  • 绑定事件时,可以通过一些绑定的修饰符,常见的事件修饰符如下
@click.once:只触发一次事件。[重点]
@click.prevent:阻止默认事件。[重点]
@click.stop:阻止事件冒泡
@click.capture:使用事件捕获模式而不是冒泡模式
@click.self:只在事件发送者自身触发时才触发事件
<script setup>

    import {ref} from "vue";

    //响应式数据 当发生变化时,会自动更新 dom 树
    let count = ref(0);

    let addCount=()=>{
      count.value++;
    }

    let incrCount=(event)=>{
      count.value++;
      //通过事件对象阻止组件的默认行为
      event.preventDefault();
    }

    let sayHello=()=>{
      alert("hello world!")
    }

    let h01=()=>{
      alert("ho1")
    }
    let h02=()=>{
      alert("ho2")
      event.stopPropagation();    //阻止事件传播,繁殖,蔓延
    }
    let h03=()=>{
      alert("h03");
    }

</script>

<template>

    <div>
       <h1>count的值是:{{count}}</h1>

      <!--方法事件处理器-->
      <button v-on:click="addCount()">addCount</button><br>

      <!--内联事件处理器-->
      <button @click="count++">incrCount</button><br>

      <!--事件修饰符 once 只绑定事件一次-->
      <button @click.once="count++">addOnce</button><br>

      <!--事件修饰符 prevent 阻止组件的默认行为-->
      <a href="https://blog.csdn.net/m0_65152767?spm=1011.2124.3001.5343" target="_blank" @click.prevent="count++">prevent</a><br>

      <!--原是js方式阻止组件默认行为(推荐)-->
      <a href="https://blog.csdn.net/m0_65152767?spm=1010.2135.3001.5343" target="_blank" @click="incrCount($event)">prevent</a><br>

      <button v-on:click="sayHello">点我</button>

      <button @click="sayHello">点我省略v-on:</button>

      <div @click="h01" style="background-color: #abc;width: 200px;height: 200px">
        <div @click="h02" style="background-color: #cba;width: 100px;height: 100px">HELLO</div>
        <div @click.stop="h03" style="background-color: #dfb;width: 100px;height: 100px">HELLO</div>
      </div>
    </div>

</template>



http://www.kler.cn/news/134114.html

相关文章:

  • C# GC机制
  • aspose.cells java合并多个excel
  • SpringCloud微服务注册中心:Nacos介绍,微服务注册,Ribbon通信,Ribbon负载均衡,Nacos配置管理详细介绍
  • 【算法】树形DP③ 监控二叉树 ⭐(二叉树染色二叉树灯饰)!
  • 设计模式-行为型模式-策略模式
  • Spring Cloud学习(十)【Elasticsearch搜索功能 分布式搜索引擎02】
  • 目标检测YOLO系列从入门到精通技术详解100篇-【目标检测】三维重建
  • useEffect 和useLayoutEffect 的区别
  • CSS 文本属性篇
  • VMware——WindowServer2012R2环境mysql5.7.14解压版安装主从复制(图解版)
  • app使用
  • Stable Diffusion - StableDiffusion WebUI 软件升级与扩展兼容
  • 李宏毅2023机器学习作业HW05解析和代码分享
  • install YAPI MongoDB 备份mongo 安装yapi插件cross-request 笔记
  • 建立跨层全栈的区块链安全保障系统-应用层,系统层,设施层
  • 在Windows系统中查找GitBash安装位置
  • Android——Gradle插件项目根目录settings.gradle和build.gradle
  • 第7章 模式匹配与正则表达式
  • 聊聊logback的EvaluatorFilter
  • 计算机硬件的基本组成
  • K-Means聚类
  • 数电实验-----实现74LS139芯片扩展为3-8译码器以及应用(Quartus II )
  • 【VSCode】Visual Studio Code 下载与安装教程
  • macos 配置ndk环境
  • 【DevOps】Git 图文详解(四):Git 使用入门
  • 阿坤老师的独特瓷器(Java详解)
  • Linux下快速确定目标服务器支持哪些协议和密码套件
  • 学习网络编程No.10【深入学习HTTPS】
  • sqlite 判断数据表是否存在 失效的一种情况
  • Python数据分析实战① Python实现数据可视化