美文网首页
vue组件之间的通信

vue组件之间的通信

作者: LeslieAlex | 来源:发表于2019-11-28 23:49 被阅读0次

父组件从子组件获取数据:

1.ref方式,把子组件当作一个对象,通过对象的方法获取数据,前提是子组件中提供了获取数据的方法
例子:

/** 组件获取表单数据 */
        getFormData() {
            const params = {
                prizeList: this.prizeList.map(it => ({
                    lotteryProbability: Number(it.form.lotteryProbability),
                    photo: it.form.photo,
                    prizeDrawNum: it.form.prizeDrawNum ? parseInt(it.form.prizeDrawNum, 0) : 0,
                    prizeId: it.form.prizeId,
                    prizeName: it.form.prizeName,
                    prizeNum: it.form.prizeNum ? parseInt(it.form.prizeNum, 0) : 0,
                    prizeType: it.form.prizeType,
                })),
            };
            return params;
        },

父组件使用子组件

  <draw-award :show-prize-list="showPrizeList" ref="drawAward"></draw-award>

获取数据

// 获取数据
getdrawAwardData() {
            const data = this.$refs.drawAward.getFormData();
            return data;
        },

2.通过子组件emit的方式传递出去,父组件通过@的方式获取传递出来的数据
例子:
子组件

this.$emit('confirm', this.whiteList);

父组件获取

<draw-lottery @confirm="getwhiteUser"></draw-lottery>
// 白名单用户数据
        getwhiteUser(list) {
            for (let i = 0; i < list.length; i++) {
                this.whiteUser[i] = list[i].userMobile;
            }
            const params = {
                userIdList: this.whiteUser,
            };
            this.darwUserIdList = params;
            console.log('白名单用户列表为:', this.darwUserIdList);
        },

子组件获取父组件的数据

1.父组件把数据传递,子组件声明props的值来接收
例子
父组件

<detail-form :baseInfo=baseInfo></detail-form>

子组件

props: {
        baseInfo: { // 正确的数据传入,exp: [{title: 'label', value: 'content'}]
            type: Object,
            default() {
                return {
                    activityCode: 'NO001',
                    activityName: '年末大抽奖',
                    activeCreateTime: '2019-06-07 12:30:00',
                    activeEndTime: '2019-06-09 12:30:00',
                    activeType: '九宫格',
                    activeStatus: '启用',
                    voterNum: '10000',
                    enterNum: '20',
                    activeRule: {
                        crowdfundAllGetMaxNum: 5,
                        crowdfundDayGetMaxNum: 0,
                        crowdfundDayGetNum: 1,
                        firstGetNum: 5,
                        prizeDrawAllNum: 20,
                        prizeDrawDayNum: 0,
                    },
                    activeRemark: '超级无敌优惠活动,吐血回馈用户。超级无敌优惠活动,吐血回馈用户。超级无敌优惠活动,吐血回馈用户。超级无敌优惠活动,吐血回馈用户',
                };
            },
        },
    },

相关文章

  • vue组件之间通信

    vue 组件之间通信 vue组件之间通信方式: 1.父组件通过props向下传数据给子组件,子组件通过$emit事...

  • 老生常谈——vue组件之间通信

    老生常谈的组件之间通信 vue组件之间的通信细分为三种情况:兄弟组件之间的通信,父组件向子组件传递数据,子组件向父...

  • Vue.js--组件通信

    vue组件之间的通信包括三种: 1.父组件向子组件通信 2.子组件向父组件通信 3.同级组件之间的通信 首先,看一...

  • Vue相关知识点

    1、vue父子组件之间的通信 在vue组件通信中其中最常见通信方式就是父子组件之中的通性,而父子组件的设定方式在不...

  • Vue 组件 / 通信

    子组件=》父组件 vue的组件之间的通信类似angular的父子层级之间通信,父组件获取子组件数据步骤大概如下: ...

  • 【Vue2】组件传值的六种方法

    Vue 组件之间的通信大概归类为: 父子组件通信: props/$emit;ref/refs;$attrs / $...

  • Vue组件通信

    Vue 组件之间的通信,通常我们遇到的都是父子组件之间的通信 一、父子组件传参 子组件定义 Props 属性; 父...

  • Vue.js基础(二)

    1. 组件之间的通信 向子组件中传递 number=99 子组件a.vue中 执行效果 2. 组件之间的通信 - ...

  • Vue组件通信

    Vue组件通信 Vue组件关系可分为三大类: 父子组件 兄弟组件 跨级组件, 相应的组件之间的通信也分类三大类: ...

  • Vue组件通信

    总体来说,Vue中组件之间的通信场景如下图: 可以将其分为父子组件通信、兄弟组件通信、跨级组件通信。 1. 自定义...

网友评论

      本文标题:vue组件之间的通信

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