码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Vue中v-on的基础用法、参数传递和修饰符


    目录

    一、v-on的基本用法

    使用v-on:click给button绑定监听事件以及回调函数,@是v-on:的缩写,也就是简写也可以使用@click。方法一般是需要写方法名加上(),在@click中可以省掉,如上述的加。

    二、v-on的参数传递

    三、v-on的修饰词

    .stop的使用,btn的click事件不会传播,不会冒泡到上层,调用event.stopPropagation()。

    .prevent 调用event.preeventDefault阻止默认行为。

    .enter监听键盘事件;

    .once 事件只触发一次(常用);

    .capture 使用事件的捕获模式;

    .self 只有event.target是当前操作的元素时才触发事件;

    .passive 事件的默认行为立即执行,无需等待事件回调执行完毕;


    一、v-on的基本用法

    使用v-on:click给button绑定监听事件以及回调函数,@是v-on:的缩写,也就是简写也可以使用@click。方法一般是需要写方法名加上(),在@click中可以省掉,如上述的。

    以简单的计数器为例

    1. <body>
    2. <div id="app">
    3. <h2>{{count}}h2>
    4. <button @click="increment">加button>
    5. <button @click="decrement">减button>
    6. div>
    7. <script>
    8. const app = new Vue({
    9. el:"#app",
    10. data:{
    11. count:0
    12. },
    13. methods: {
    14. increment(){
    15. this.count++
    16. },
    17. decrement(){
    18. this.count--
    19. }
    20. }
    21. })
    22. script>
    23. body>

    二、v-on的参数传递

    在methods中定义的方法,我们可以进行调用,可以带上(),也可以不带()

    如下的btnClick的调用中,加了()想要调用,里面必须要有值,如果不加小括号,就只会调用事件对象。

    btnClick3想要传入event,需要在调用时写$event,才能调用事件对象。

    1. <div id="app">
    2. <button @click="btnClick">按钮1button>
    3. <button @click="btnClick()">按钮2button>
    4. <button @click="btnClick2(123)">按钮3button>
    5. <button @click="btnClick2()">按钮4button>
    6. <button @click="btnClick2">按钮5button>
    7. <button @click="btnClick3($event,123)">按钮6button>
    8. div>
    9. <script src="vue.js">script>
    10. <script>
    11. const app = new Vue({
    12. el:"#app",
    13. methods:{
    14. btnClick(){
    15. console.log("点击XXX");
    16. },
    17. btnClick2(value){
    18. console.log(value+"----------");
    19. },
    20. btnClick3(event,value){
    21. console.log(event+"----------"+value);
    22. }
    23. }
    24. })
    25. script>

    1. 事件没传参,可以省略()
    2. 事件调用方法传参了,写函数时候省略了小括号,但是函数本身是需要传递一个参数的,这个参数就是原生事件event参数传递进去
    3. 如果同时需要传入某个参数,同时需要event是,可以通过$event传入事件。

    三、v-on的修饰词

    1. .stop的使用,btn的click事件不会传播,不会冒泡到上层,调用event.stopPropagation()。

    2. .prevent 调用event.preeventDefault阻止默认行为。

    3. .enter监听键盘事件;

    4. once 事件只触发一次(常用);

    5. capture 使用事件的捕获模式;

    6. self 只有event.target是当前操作的元素时才触发事件;

    7. passive 事件的默认行为立即执行,无需等待事件回调执行完毕;

    1. <style>
    2. .div {
    3. height:80px;
    4. background:#f00;
    5. }
    6. style>
    7. head>
    8. <body>
    9. <div id="app">
    10. <div @click="divClick">
    11. <button @click.stop="btnClick">按钮1button>
    12. div>
    13. <form action="www.baidu.com">
    14. <button type="submit" @click.prevent="submitClick">提交button>
    15. form>
    16. <form @submit.prevent=''>
    17. 账号<input type="text" name="user"/>
    18. 密码<input type="text" name="password" @keyup.enter="submit"/>
    19. <input type="submit" value="登录"/>
    20. form>
    21. <button @click.once="showInfo">点我提示信息button>
    22. <div class="box1" @click.capture="show(111)">
    23. div1外面
    24. <div class="box2" @click="show(222)">
    25. div2里面
    26. div>
    27. div>
    28. <div class="div" @click.self="showself">
    29. <button @click="showself">点我button>
    30. div>
    31. div>
    32. <script src="vue.js">script>
    33. <script>
    34. const app = new Vue({
    35. el:"#app",
    36. methods:{
    37. btnClick(){
    38. console.log("点击button");
    39. },
    40. divClick(){
    41. console.log("点击div");
    42. },
    43. submitClcik(){
    44. console.log("提交被阻止了")
    45. },
    46. submit(){
    47. console.log("keyup点击")
    48. },
    49. showInfo(){
    50. alert('web学习真有趣')
    51. },
    52. show(msg){
    53. console.log(msg)
    54. },
    55. showself(e){
    56. console.log(e.target);
    57. },
    58. }
    59. })
    60. script>
    61. body>

  • 相关阅读:
    基于Java语言的网上订餐系统(附:源码 课件)
    单链表的定义(数据结构与算法)
    HTML学习笔记Day1-快速入门
    【C++漂流记】一文搞懂类与对象的封装
    父子进程、僵尸进程和孤儿进程
    UDP协议
    Vue-cli前端工程配置
    web前端期末大作业:基于HTML+CSS+JavaScript制作我的音乐网站(带设计报告)
    MobPush HarmonyOS NEXT 版本集成指南
    速科德PEEK导向柱高精度深孔加工技术方案
  • 原文地址:https://blog.csdn.net/yzq0820/article/details/126048832
  • 最新文章
  • 【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
    用 Hashids 优雅解决 C 端自增 ID 暴露问题
    V8引擎 精品漫游指南--Ignition篇(上) 指令 栈帧 槽位 调用约定 内存布局 基础内容
    LLVM Pass快速入门(四):代码插桩
    milkup:桌面端 markdown AI续写和即时渲染
    基于项目工程构建SBOM(软件物料清单)的研究
    鸿蒙应用开发UI基础第二节:鸿蒙应用程序框架核心解析与实操
    .NET 中如何快速实现 List 集合去重?
    扣子Coze实战:从0到1打造抖音+小红书热点监控智能体
    浅谈数据访问层
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号