zoukankan      html  css  js  c++  java
  • 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)
    

    父子组件数据同步更新也可以通过 v-model 方法来完成,父组件通过 v-model来绑定一个你需要同步更新的值

    子组件

    props: {
            // 此处必须是value才行
            value: {
                type: [Number, String],
                default: ''
            },
        },
        // 通过监听改变
        watch: {
            value(val) {
           // 实现方法 this.$emit('input', val) } },

      

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

  • 相关阅读:
    tkinter 类继承的三种方式
    tkinter 的两个例子
    python 测试驱动开发的简单例子
    python 播放 wav 文件
    Python 操作 MongoDB
    【转】如何拿到半数面试公司Offer——我的Python求职之路
    scrapy 保存到 sqlite3
    scrapy 爬取 useragent
    收集的User-Agent
    scrapy 登录
  • 原文地址:https://www.cnblogs.com/fczbk/p/12395215.html
Copyright © 2011-2022 走看看