zoukankan      html  css  js  c++  java
  • 006 Vue的v-on

    [A] v-on作用

                作用:用于绑定事件,如监听鼠标事件,键盘事件等

                简写:@

                绑定类型:Function | Inline satatment | Object

                参数:event

           

    [B] v-on的参数传递

                1. 基本使用,不传参时

                    <button @click="addNum()">add</button>      // 绑定鼠标点击事件,一旦鼠标点击,则调用函数addNum()

                    此时,在不传参时,函数后面的()可以不添加,即上述可改为:

                        <button @click="addNum">add</button>

                2. 使用时传入参数时

                    当事件函数需要传入参数,但是调用时只写了函数名,没写()时,

                            则事件函数执行时,第一个参数会被浏览器定义为触发事件,其他的参数为undefined

                        如:

                            <button @click="addNumber">按钮2</button>

                            addNumber(a, b, c){

                                console.log(a, b, c);

                            }

                            // 返回结果为:MouseEvent{...}  undefined   undefined

                            // 当添加()时,即@click="addNumber()",返回undefined    undefined   undefined

                3. 当事件函数需要传入触发事件,还要传入其他参数时,用$event表示事件本身

                        如:

                            <button @click="addNumber(10, $event, 'hello')">按钮2</button>

                            addNumber(a, b, c){

                                console.log(a, b, c);

                            }

                            // 则事件函数调用时,按顺序给形参赋值

                                即a = 10, b = MouseEvent{...}, a = "hello"

    [C] v-on的修饰符

                    v-on的修饰符很多,这些修饰符可以帮助我们方便的处理一些事件

                1. .stop    阻止冒泡,即调用了event.stopPropagation()

                    当子元素和父元素都绑定了同一类事件时,触发子元素,事件会进行冒泡,父元素也会被触发

                    如:

                        <div @click="divClick()">

                            <button @click="btnClick()">修饰符按钮</button>

                        </div>

                        当点击按钮时,会同事触发divClick()函数

                    要想阻止这种冒泡,可以使用.stop修饰符,即得事件添加.stop属性即可

                        示例:<div @click="divClick()">

                                <button @click.stop="btnClick()">修饰符按钮</button>

                            </div>

                2. .prevent 阻止默认事件,即调用了event.preventDefault()

                    示例:在表单中,点击提交,系统会自动将信息提交到指定的地方,如果我们想要自己调用函数进行提交,就需要阻止默认提交事件

                    <form action="baidu">

                        <input type="submit" value="提交" @click.prevent="submitClick()">

                    </form>

                3. .{keyCode | keyAlias}    监听键盘事件时,指定事件只有在特定的键上才会触发

                    <input type="text" @keyUp.65="keyUp($event)">  

                        只有在键A(键码为65)按下时才会触发

                4. .native  自定义组件的事件,必须加入.native才会生效

                    如:自定义组件<cpm @click="aClick()"></cpm>

                        该点击事件是无效的,需改为:

                            <cpm @click.native="aClick()"></cpm>

                5. .once    规定事件只触发一次

  • 相关阅读:
    SpringCloud学习----阳哥(十一)
    SpringCloud学习----阳哥(十)
    SpringCloud学习----阳哥(九)
    SpringCloud学习----阳哥(八)
    SpringCloud学习----阳哥(七)
    SpringCloud学习----阳哥(六)
    Linux系统管理(软件安装篇)
    每次都能遇到的莫名其妙问题,谨记,速查手册
    Mysql 常用表达式
    精选博客收集
  • 原文地址:https://www.cnblogs.com/carreyBlog/p/13667760.html
Copyright © 2011-2022 走看看