vue组件使用props、$emit传递数据

纪录一下我的作品当中点击get details按钮跳出Popup组件,按下叉叉可关闭Popup组件的操作。

父组件MenusDetails.vue

<template>
    <div class="menusdetails">
        <div class="menusdetails__content">
            <a href="javascript:void(0);" class="btn btn--2" @click="showPopup">get details</a>
        </div>
        <Popup :is-show="show" 
                @hide="hidePopup">
        </Popup>
    </div>
</template>
<script>
import Popup from '@/components/Popup';
export default {
    name:'MenusDetails',
    data(){
        return{
            show:false
        }
    },
    components:{
        Popup
    },
    methods:{
        showPopup(){
            this.show = true;
        },
        hidePopup() {
            this.show = false;
        }
    }
</script>

<a>标签的连结我使用javascript:void(0);阻止页面连结跳转,这样点下get details按钮让Popup.vue出现後网址不会变动。
@hide监听子组件触发hide事件,执行hidePopup方法。

子组件Popup.vue

<template>
    <div class="popup" v-show="isShow">
        <div class="popup__dialog">
            <a href="#" class="popup__close" @click="closePopup">×</a>
        </div>
    </div>
</template>
<script>
export default {
    name:'Popup',
    props:{
        isShow:Boolean
    },
    methods:{
       closePopup(){
            this.$emit('hide');
       }
    }
</script>

子组件使用props接收父组件is-show的值,这边要改成驼峰式命名法转换成isShow,值为Boolean。
在叉叉上加上一个closePopup方法,使用$emit方法点下後即触发父组件的监听事件。


<<:  网路是怎样连接的(十)UDP简介

>>:  JS 40 - 向下滚动网页即自动隐藏导览列

【Day 9】Python 打包程序

编写Python程序常常需要下载第三方套件,但不是人人都懂程序开发需要下载开发软件,而这里是分享py...

Day-19 PyTorch 怎麽读取资料? Dataset and DataLoader

今天来聊聊怎麽读取资料和调整资料集,你可能会问说奇怪我们前两天不是就已经可以使用资料了吗?这边有啥...

[Day24] Forensics 小日记

各位我又回来密码学ㄌ 今天很有诚意解3题 但因我又再赶死线 先不聊ㄌ 解题较重要 完蛋了 今天密码学...

Day02 - Pure Function

yo! what's up! 本篇文章会简单地介绍基本的 Functional Programmin...

[DAY 16]用bot打出色色柴犬counter牌

最近很夯的色色柴犬大家应该有听过吧 没错就是这一系列牌组 然後某一天晚上不知道我发什麽神经突然有个念...