vue 父子组件间通讯问题处理

Posted fczbk

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue 父子组件间通讯问题处理相关的知识,希望对你有一定的参考价值。

props 方法

父组件传参

<import-package-dialog
      v-if="dialogs.importPackage"
      dialoagName="importPackage"
      @closeDialog="onCloseDialog"
    >

子组件接收

  props: {
    dialoagName: {
      type: String,
      default: ""
    },
    selectData: {
      type: Array,
      default() {
        return []
      }
    }
  },

子组件传父组件可通 $emit 方法传参

this.$emit(‘closeDialog‘, {
        name: this.dialoagName
      });

若想父子组件数据同步更新,可通过对象的形式,此处不做叙述,我给大家介绍另一种方法 sync,只需要在父组件参数后面加上.sync即可。

 <health-check
            width="700px"
            v-if="config.attrNbr === ‘HEALTH_CHECK‘ && isHealthCheck"
            ref="HEALTH_CHECK"
            label-width="140px"
            :containerPortList="containerPortList"
            :healthData.sync="config.healthCheck"
          />

子组件通过 update 方法对父组件数据进行更新

this.$emit(‘update:healthData‘,xxx)

  

当然也可以通vuex进行处理,须知页面刷新是会把vuex里的数据清掉的。

以上是关于vue 父子组件间通讯问题处理的主要内容,如果未能解决你的问题,请参考以下文章

Vue入门七父子组件间通讯

Vue2组件间通讯

父子组件间的通讯

vue组件之间的通信, 父子组件通信,兄弟组件通信

vue非父子组件间传参问题

Vue中组件通信(eventBus)