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方法点下后即触发父组件的监听事件。


关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章