美文网首页
子组件向父组件传值,自定义事件

子组件向父组件传值,自定义事件

作者: 媛猿YY | 来源:发表于2021-02-25 16:49 被阅读0次

需求:
描述:在主页点击购物车弹出提示弹窗
父组件:index.vue
子组件:modal.vue

代码:
modal.vue

<template>
        <div class="modal" v-show="showModal">
            <div class="mask"></div>
            <div class="modal-dialog">
                <div class="modal-header">
                    <span>{{ title }}</span>
                    <a href="javascript:;" class="icon-close" @click="$emit('cancel')"></a>
                </div>
                <div class="modal-body">
                    <slot name="body"></slot> // 插槽的用法
                </div>
                <div class="modal-footer">
                    <a href="javascript:;" class="btn" v-if="btnType == 1" @click="$emit('submit')">{{ sureText }}</a> //emit 将自定义函数submit传值给父组件
                    <a href="javascript:;" class="btn" v-if="btnType == 2" @click="$emit('cancel')">{{ cancelText }}</a> //emit 将自定义函数cancel传值给父组件
                    <div class="btn-group" v-if="btnType == 3">
                        <a href="javascript:;" class="btn" @click="$emit('submit')">{{ sureText }}</a>
                        <a href="javascript:;" class="btn" @click="$emit('cancel')">{{ cancelText }}</a>
                    </div>
                </div>
            </div>
        </div>
</template>
<script>
// @ is an alias to /src

export default {
    name: 'modal',
    props: {//接收从父组件传过来的值
        // 弹框类型:小 small /中 midlle/ 大 large / 表单form
        modalType: {
            type: String,
            default: 'form',
        },
        // 弹框标题
        title: String,
        // 按钮类型:1 、确定 ,2、取消,3、确定、取消
        btnType: String,
        sureText: {
            type: String,
            default: '确定',
        },
        cancelText: {
            type: String,
            default: '取消',
        },
        showModal: Boolean,
    },
    data() {
        return {
            
        };
    },
    components: {},
    
};
</script>

index.vue

<template>
<modal 
            title="提示"  
            sureText="查看购物车" 
            btnType="1" 
            modalType="middle" 
            :showModal="showModal" 
            @submit="goToCart" //子组件的自定义函数submit
            @cancel="showModal=false" //子组件的自定义函数cancel
            >
            <template v-slot:body>
                <p>商品添加成功!</p>
            </template>
        </modal>
</template>
<script>
import Modal from './../components/Modal';
export default {
data(){
return{
showModal: false,
}
}
}
</script>

相关文章

  • vue定义组件

    自定义组件 子组件向父组件传值需要通过函数,父组件向子组件传值通过属性 this.$emit当前组件触发一个事件 ...

  • Vue中 子组件与父组件之间的传值

    一、子组件向父组件传值 1、子向父传值 需要用到自定义事件 $emit。 2、this.$emit('自定义的事件...

  • 【Vue】父子、兄弟及不相干组件通信

    普通组件:父向子传值:v-bind属性绑定子向父传值:v-on事件绑定 自定义组件: 父组件向子组件传输数据[pr...

  • Vue3——组件传值 & v-model & 异步组件 & te

    一、父子组件传值 父组件通过props向子组件传值,子组件通过emit触发自定义事件传递新值给父组件。props:...

  • vue组建中子组件向父组件中传递值

    子组件向父组件传值相对来说繁琐,子组件中需要在方法中使用$emit向父组件自定义事件对应的方法传值,父组件需要在自...

  • Vue.js组件传值

    子组件向父组件传值 在子组件页面触发事件$emit 在父组件中在组件标签中调用v-on事件监听 父组件向子组件传值...

  • VUE 父子组件互相传值

    父组件代码 子组件代码 父组件向子组件传值 通过v-bind: 子组件向父组件传值 通过事件绑定,比如这个@del...

  • vue2.0组件间传值的方法汇总

    1、组件间的传值 1.1 父组件向子组件传值 子组件自定义一个属性 父组件通过自定义属性绑定值 子组件调用自定义属...

  • ReactNative组件间的通信

    父组件向子组件通信 父组件向子组件传值 父组件向子组件传递方法 子组件向父组件通信 子组件向父组件传值 子组件向父...

  • Vue组件通信方法总结

    父传子父组件通过自定义属性给子组件传值,子组件用props接收 子传父父组件在子组件标签上自定义事件,子组件通过$...

网友评论

      本文标题:子组件向父组件传值,自定义事件

      本文链接:https://www.haomeiwen.com/subject/bxjufltx.html