zoukankan      html  css  js  c++  java
  • 3.v-on

    1.v-on参数传递问题:

    • 方法不需要额外参数,那么方法后的小括号可以添加也可以省略
    • 方法中有一个参数,如果不传递就会将原生事件event参数传递进去
    • 同时传入其他参数和event时,通过$event传入事件
     1 <!DOCTYPE html>
     2 <html lang="en">
     3 <head>
     4     <meta charset="UTF-8">
     5     <title>Title</title>
     6 </head>
     7 <body>
     8 <div id="vue">
     9     <!--1.没有参数,加小括号和不加小括号是一样的-->
    10     <button @click="btn1Click()">按钮1</button>
    11     <button @click="btn2Click">按钮2</button>
    12 
    13     <!--2.方法中有一个参数-->
    14     <!--(1)带小括号和参数则正常显示-->
    15     <button @click="btn3Click('btn3')">按钮3</button>
    16     <!--(2)带小括号不带参数,参数传入undefined-->
    17     <button @click="btn4Click()">按钮4</button>
    18     <!--(3)不带小括号且不带参数,参数传入浏览器生成的MouseEvent对象传入参数中-->
    19     <button @click="btn5Click">按钮5</button>
    20 
    21     <!--3.方法中有普通参数和event对象-->
    22     <!--(1)不带小括号不带参数,参数传入MouseEvent和undefined-->
    23     <button @click="btn6Click">按钮6</button>
    24     <!--(2)带小括号不带参数,参数传入undefined和undefined-->
    25     <button @click="btn7Click()">按钮7</button>
    26     <!--(3)需要传入event对象时,使用$event传递MouseEvent-->
    27     <button @click="btn8Click($event, 123)">按钮8</button>
    28 </div>
    29 
    30 <!--导入Vue.js-->
    31 <script src="https://cdn.jsdelivr.net/npm/vue@2.5.21/dist/vue.min.js"></script>
    32 <script type="text/javascript">
    33     let vm = new Vue({
    34         el: '#vue',
    35         data: {
    36             firstName: "Wang",
    37             lastName: "ZhiHao"
    38         },
    39         methods: {
    40             btn1Click(){
    41                 console.log("btn1");
    42             },
    43             btn2Click(){
    44                 console.log("btn2");
    45             },
    46             btn3Click(str){
    47                 console.log(str);
    48             },
    49             btn4Click(str)
    50             {
    51                 console.log("btn4:"+ str)
    52             },
    53             btn5Click(str)
    54             {
    55                 console.log("btn5:" + str)
    56             },
    57             btn6Click(event,abc)
    58             {
    59                 console.log("btn6:" + event + " " + abc);
    60             },
    61             btn7Click(event,abc)
    62             {
    63                 console.log("btn7:" + event + " " + abc);
    64             },
    65             btn8Click(ttt,abc)
    66             {
    67                 console.log("btn8:" + ttt + " " + abc);
    68             }
    69         }
    70 
    71     });
    72 </script>
    73 </body>
    74 </html>

    2.v-on修饰符

    • .stop:调用event.stopPropagation(),阻止事件向上冒泡
    • .prevent:调用event.preventDefault(),阻止默认事件(例如表单提交)
    • .(keyCode | keyAlias):只当事件是一个特定按键触发时才触发回调
    • .native:监听组件根元素的原生事件
    • .once:只触发一次
     1 <!DOCTYPE html>
     2 <html lang="en">
     3 <head>
     4     <meta charset="UTF-8">
     5     <title>Title</title>
     6 </head>
     7 <body>
     8 
     9 <div id="app" @click="div1Click">
    10 
    11     <!--1. .stop修饰符阻止事件向上冒泡-->
    12     <div @click="div2Click">
    13         <button @click.stop="btnClick">按钮</button>
    14     </div>
    15 
    16     <!--2. .prevent修饰符阻止事件默认提交,再接.stop阻止事件冒泡-->
    17     <form action="http://www.baidu.com">
    18         <input type="submit" value="提交" @click.prevent.stop="submitClick">
    19     </form>
    20 
    21     <!--3. keyup只要键盘输入就执行方法,后接.enter就只监听enter键的输入-->
    22     <input type="text" @keyup="keyUp">
    23     <input type="text" @keyup.enter="keyUp">
    24 
    25     <!--4. .once让按钮只触发一次事件回调-->
    26     <button @click.once="ClickOnce">按钮</button>
    27 
    28 </div>
    29 
    30 <script src="https://cdn.jsdelivr.net/npm/vue@2.5.21/dist/vue.min.js"></script>
    31 <script type="text/javascript">
    32 
    33     let vm = new Vue({
    34         el: '#app',
    35         data: {
    36             firstName: "Wang",
    37             lastName: "ZhiHao"
    38         },
    39         methods: {
    40             btnClick(){
    41                 console.log("btnClick");
    42             },
    43             div1Click(){
    44                 console.log("div1Click");
    45             },
    46             div2Click(){
    47                 console.log("div2Click");
    48             },
    49             submitClick(){
    50                 console.log("submitClick")
    51             },
    52             keyUp(){
    53                 console.log("keyUp")
    54             },
    55             ClickOnce(){
    56                 console.log("ClickOnce")
    57             }
    58         }
    59     })
    60 </script>
    61 </body>
    62 </html>
  • 相关阅读:
    利用LibreOffice进行WORD转PDF
    SpringBoot实践
    Solr学习笔记(一)
    HashMap原理(转)
    PDF.js展示本地文件
    设计模式之代理模式
    (一)DUBBO基本学习
    如何架构一个框架
    冒泡排序
    js 函数传数组参数
  • 原文地址:https://www.cnblogs.com/zhihaospace/p/12099910.html
Copyright © 2011-2022 走看看