前端-vue基础12-事件修饰符

 传统方式

<!DOCTYPE html>
<html lang="en">
 
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <!-- v-cloak用法 -->
    <style>
        [v-cloak] {
            display: none;
        }
        /* 先通过样式隐藏内容 然后在内存中替换 然后再显示想要的结果 */
    </style>
</head>
<!-- v-once显示的信息不需要后期修改 这样可以提高性能 -->
 
<body>
    <div id="app">
        <div>{{num}}</div>
        <div v-on:click='handle0'>
 
            <button @click='handle1'>点击2</button>
            <!--  <button @click='handle2(123,456,$event)'>点击3</button> -->
        </div>
    </div>
    <!-- 刷新的时候有闪动 -->
    <script type="text/javascript" src="./js/vue.js"></script>
    <script>
        /* VUE基本使用 */
        /* 填充数据 */
        /* 引入js */
        /* 语法功能 */
        var vm = new Vue({
            //绑定的标签
            el: '#app',
            //数据显示
            data: {
                //msg: 'Hello Vue',
                num: 0
                    /*  info: '你好' */
            },
            methods: {
                /*  handle2: function(p, p1, event) {
                     console.log(p, p1);
                     console.log(event.target.tagName);
                     this.num++;
                 }, */
                handle0: function() {
                    this.num++;
                },
                handle1: function(event) {
                    //阻止冒泡
                    event.stopPropagation();
                    // console.log(event.target.innerHTML);
                }
            }
        });
    </script>
</body>
 
</html>

vue方式

<!DOCTYPE html>
<html lang="en">
 
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <!-- v-cloak用法 -->
    <style>
        [v-cloak] {
            display: none;
        }
        /* 先通过样式隐藏内容 然后在内存中替换 然后再显示想要的结果 */
    </style>
</head>
<!-- v-once显示的信息不需要后期修改 这样可以提高性能 -->
 
<body>
    <div id="app">
        <div>{{num}}</div>
        <div v-on:click='handle0'>
            <!-- 阻止冒泡 -->
            <button @click.stop='handle1'>点击2</button>
            <!--  <button @click='handle2(123,456,$event)'>点击3</button> -->
        </div>
        <div>
            <a href="http://www.baidu.com" v-on:click.prevent='handle2'>点击</a>
        </div>
    </div>
    <!-- 刷新的时候有闪动 -->
    <script type="text/javascript" src="./js/vue.js"></script>
    <script>
        /* VUE基本使用 */
        /* 填充数据 */
        /* 引入js */
        /* 语法功能 */
        var vm = new Vue({
            //绑定的标签
            el: '#app',
            //数据显示
            data: {
                //msg: 'Hello Vue',
                num: 0
                    /*  info: '你好' */
            },
            methods: {
                /*  handle2: function(p, p1, event) {
                     console.log(p, p1);
                     console.log(event.target.tagName);
                     this.num++;
                 }, */
                handle0: function() {
                    this.num++;
                },
                handle1: function(event) {
                    //阻止冒泡
                    // event.stopPropagation();
                    // console.log(event.target.innerHTML);
                },
                handle2: function(event) {
                    event.preventDefault();
                }
            }
        });
    </script>
</body>
 
</html>

 

posted @   前端导师歌谣  阅读(24)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示