vue中的修饰符

事件修饰符
  • .stop 阻止向上冒泡 不会调用父的事件
  • .prevent 阻止默认行为,调用 event.preventDefault()
  • .capture捕获冒泡
  • .self 只当事件在该元素本身触发时,才会触发事件
  • .once 事件只触发一次
  •  <!-- .stop 阻止向上冒泡 不会调用父的事件 -->
            <div @click='cathFather'>我是父事件修饰符
                <!-- .stop  阻止冒泡,调用 event.stopPropagation() -->
                <div @click.stop='catchSon'>我是子事件修饰符</div>
            </div>
    
            <!-- .prevent 阻止默认行为,调用 event.preventDefault() -->
            <a href="http://www.baidu" @click.prevent='onPrevent'>我是prevent事件</a>
    
            <!-- .capture捕获冒泡,
                即有冒泡发生时,有该修饰符的dom元素会先执行,如果有多个,从外到内依次执行,然后再按自然顺序执行触发的事件。
            -->
            <!-- 如果不给爷爷添加capture 点击儿子触发的顺序是 儿子、爸爸、爷爷 -->
            <!-- 给爷爷添加了capture事件后 点击儿子触发的顺序是 爷爷、儿子、爸爸 -->
            <div @click.capture='grandpa'>我是爷爷
                <div @click='father'>我是爸爸
                    <div @click='son'>
                            我是儿子
                    </div>
                </div>
            </div>
    
            <!-- .self 只当事件在该元素本身触发时,才会触发事件 -->
            <div @click.self='onSelfFather'>self事件爸爸
                <div @click='onSelfSon'>self事件儿子</div>
            </div>
    
            <!-- .once  事件只触发一次 -->
            <div @click.once='onOnce'>再点我一次试试</div>
键值修饰符
  • 说明:在监听键盘事件时,Vue 允许为 v-on 在监听键盘事件时添加关键修饰符
  •   <div id="app">
            <!-- 键值修饰符 包括键盘、鼠标 -->
            <!-- 13是Enter键的code值 -->
            <input type="text" v-model='msg' @keyup.13='submit'>
            <input type="text" v-model='msg2' @keyup.enter='submit2'><br>
            <!-- 使用自定义键值修饰符 -->
            <input type="text" v-model='msg' @keyup.f2='submit'>
        </div>
    
        <script>
            // 自定义键值修饰符 有时候写code值是数字的时候并没有语义,所有我们给它定义一下
            Vue.config.keyCodes.f2 = 113;
            var vm = new Vue({
                el:'#app',
                data:{
                    msg:'',
                    msg2:''
                },
                methods:{
                    submit:function(){
                        console.log('提交数据='+this.msg)
                    },
                    submit2:function(){
                        console.log('提交数据='+this.msg2)
                    },
                }
            })
        </script>



posted @   ssss-  阅读(41)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端
点击右上角即可分享
微信分享提示