MVC和MVVM的关系图解、事件修饰符

1.MVC和MVVM的关系图解

在这里插入图片描述

2.事件修饰符

在这里插入图片描述

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script> 
    <style>
        .inner {
            height: 150px;
            background-color: pink;
        }
    </style>
</head>
<body>
    <div id="app">
        <!--.stop阻止冒泡-->
        <!-- <div class="inner" @click="clickDiv">
            <input type="button" value="戳他" @click.stop="clickInp">
        </div> -->


        <!--.prevent阻止默认行为,不会跳转到百度页面
        <a href="http://www.baidu.com" @click.prevent="clickLink">有问题去百度</a>-->


        <!--.capture事件捕获,与事件冒泡相反
        <div class="inner" @click.capture="clickDiv">
            <input type="button" value="戳他" @click="clickInp">
        </div> -->
        

        <!--.self只有点击自身这个元素才会触发相应事件,冒泡或捕获将不会触发事件
        <div class="inner" @click.self="clickDiv">
            <input type="button" value="戳他" @click="clickInp">
        </div> -->

        <!--.once只触发一次事件处理函数,再次点击将会跳转到百度页面-->
        <a href="http://www.baidu.com" @click.prevent.once="clickLink">有问题去百度</a>
    </div>
    <script>
        var vm = new Vue({
            el: '#app',
            data: {
                msg: 'Hello,Andy!!',
                Intervalid: null           
            },
            methods: {
                clickDiv() {
                    console.log('点击了粉色盒子');
                },
                clickInp() {
                    console.log('点击了按钮');
                },
                clickLink() {
                    console.log('触发了跳转链接事件');
                }
            }
        })   
        //.stop .self都可以阻止冒泡,但.self只能阻止当前元素的事件冒泡    
    </script>
</body>
</html>

默认情况下,会有时间冒泡,下图是先后点击一次inner盒子和button的结果
在这里插入图片描述
下图是添加.stop后点击按钮的结果
在这里插入图片描述
下图是添加.capture后点击按钮的结果,该事件与冒泡相反,时间从外层到内层触发
在这里插入图片描述
下图是添加.self后先后点击一次按钮和粉色盒子的结果
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:数字20 设计师:CSDN官方博客 返回首页
评论

打赏作者

_enzo

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值