zoukankan      html  css  js  c++  java
  • vue触发事件的五个关键字

    v-on
        vue中提供了v-on事件绑定
        v-on:click='函数';
        v-on可以使用@代替

    vue  五个触发事件关键字
        .stop 用于阻止冒泡
        例如 div1中嵌套div2,且两个div都有点击事件,那么在点击div2时会触发div1的
        点击事件.click.stop可以阻止所有冒泡


        
        .prevent 用于阻止默认事件,点击a标签href可以打开相应的链接,那么给事件加
        上此关键字,click.prevent

        .capture 冒泡顺序
        例如 div1中嵌套div2中嵌套div3
        
            <div id="app" v-on:click="show">
                1
                <div id="app2" v-on:click.capture="show2">
                    2
                    <div id="app3" v-on:click="show3">
                        3
                        
                    </div>
                </div>
            </div>


            <script type="text/javascript">
            var vm=new Vue({
                el:"#app",
                data:{
                    
                },
                methods:{
                    show:function(){
                        console.log("这是app的方法")
                    },
                    show2:function(){
                        console.log("这是app2的方法")
                    },
                    show3:function(){
                        console.log("这是app3的方法")
                    }
                }
            })
        </script>

        此处的代码因为div2有capture关键字,所以此时冒泡的顺序发生了改变
        正常情况下:
            点击div3一层一层冒泡,先div3=》div2=》div1

        使用了关键字:
            点击div3时,先div2=》div3=》div1
            1.先冒泡外层带有关键字的事件
            2.外层执行结束之后,往里层执行事件
            3.最后按照从里向外的事件开始执行
            就是说只要存在一个capture关键字,就会影响整个嵌套的执行
            例子
                div1中嵌套div2中嵌套div3.capture中嵌套div4
                    此时点击div1
                    先执行带有capture的div3
                    然后执行div4
                    最后按照从里向外的顺序执行
                    顺序就是   div3=》div4=》div2=》div1

            其他疑惑
                此时嵌套为
                div1中嵌套div2.capture中嵌套div3中嵌套div4
                那么可以想一下点击最里层的div4会怎么触发呢
                
                1.触发带有关键字的 div2
                2.触发点击的div4
                3.最后从里向外执行
                那么顺序为   div2=》div4=》div3=》div1


        .self关键字阻止冒泡或者当点击自身才触发
            stop阻止除了自己以外所有的事件触发
            self加给想要阻止冒泡的或想要去单独点击它才触发的对象上

            
        

        .onec 只触发一次,再点击无效果

  • 相关阅读:
    mysql主从复制
    nginx代理tcp协议连接mysql
    spark安装配置
    DataX 3.0简介 安装及使用
    Consul 快速入门
    Etcd 使用入门
    常见负载均衡算法
    Container is running beyond memory limits
    HADOOP_MAPRED_HOME=${full path of your hadoop distribution directory}
    快速搞定Windows10环境下hadoop安装和配置
  • 原文地址:https://www.cnblogs.com/xiaozhang666/p/10678859.html
Copyright © 2011-2022 走看看