Vue - 事件处理器 - 自定义组件 - 综合案例

目录

一、事件处理器

        1.1 冒泡事件

        1.2 控制发送一次

二、自定义组件

        2.1 定义组件

        2.2 组件的通信-父传子

        2.3 子传父

                代码实现思路顺序:

三、表单综合案例

        3.1 案例源码

        3.2 运行测试


一、事件处理器

        1.1 冒泡事件

        我们首先来定义一个冒泡事件,为了效果明显,还准备一些样式,方便理解。

        这里就直接放上写好的冒泡事件代码了。

        冒泡事件:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="https://cdn.bootcdn.net/ajax/libs/vue/2.6.10/vue.js"></script>
<title>事件处理器</title>

<!-- 配合的样式 -->
<style type="text/css">
    .red{
        height: 400px;
        width: 400px;
        background-color: red;
    }
    .yellow{
        height: 300px;
        width: 300px;
        background-color: yellow;
    }
    .blue{
        height: 200px;
        width: 200px;
        background-color: blue;
    }
    .green{
        height: 100px;
        width: 100px;
        background-color: green;
    }
</style>
</head>
<body>
<div id="app">
    <p>《冒泡排序》</p>
    <div class="red" @click="red">
    <div class="yellow" @click="yellow">
    <div class="blue" @click="blue">
    <div class="green" @click="green"></div>
</div>
</div>
</div>
</div>
</body>
<script type="text/javascript">
new Vue({
    el:"#app",
data(){
return {
    msg:"hello Leaf!!!"
}
},
methods:{
    red(){
    alert("red");
    },
    yellow(){
    alert("yellow");
    },
    blue(){
    alert("blue");
    },
    green(){
    alert("green");
    }
}
})
</script>
</html>

        我们测试一下:

看着似乎没有任何问题,但是我们点击确定:

结果我们发现它不止弹出了点击的那个颜色,同时还弹出了它的所有父级div颜色;

这样肯定是不行的,所以我们需要来阻止它的连续冒泡行为;

只要这样添加上.stop就好啦~

<p>《阻止冒泡》</p>
<div class="red" @click="red">
    <div class="yellow" @click.stop="yellow">
        <div class="blue" @click.stop="blue">
            <div class="green" @click.stop="green">
            </div>
        </div>
    </div>
</div>

这里就不放结果截图了,反正长的都一样嘿嘿... 

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

_Leaf1217

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

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

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

打赏作者

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

抵扣说明:

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

余额充值