zoukankan      html  css  js  c++  java
  • 父组件和子组件相互传值

    父组件向子组件传值 props

    父组件:

     标签

    <child type="note" :defaultValue="mdl.title"></child>
    

      

    子组件:

     标签 

    <p>{{type}}</p>

     脚本

    props: {
        type: null,
        defaultValue : null
    },
    

       或者

    props: ['type', 'defaultValue'],

    我一般默认设null(不初始值会报错),然后在beforeMount()方法做判断和赋值

    beforeMount () {
        if (this.defaultValue) {
          this.setData(this.defaultValue)
        }
    },
    methods: {
        setData (data) {
          this.fileList = data
        },
    }
    

    注:如果父组件传进来的带下划线,传进来的数据是a-bc, vue转化成aBc, 在js 里面写aBc

    子组件更新值给父组件 this.$emit

    父组件:

     标签

    <child v-on:change="showChildChange"></child>
    

      或者

    <child @change="showChildChange"></child>
    

     脚本  

    methods: {
        showChildChange (value) {
            console.log('value', value)
        }
    }
    

      

    子组件:

    this.$emit 子组件发射自定义事件sendiptVal 并携带要传递给父组件的值

    脚本

    methods: {
        handleChange ({ data }) {
          this.$emit('change', data)
        },
    },

    如果要传递给父组件很多值,这些值要作为参数依次列出 如 this.$emit('change', 1, 2); 

    还有一种watch(监听)父组件数据的方法,可参考:https://www.jianshu.com/p/1b7e8a28d836

    参考:

    vue 中父子组件传值:props和$emit:https://www.cnblogs.com/rlann/p/7163045.html

    vue—子组件修改父组件的值:https://blog.csdn.net/sinat_36422236/article/details/79403718

  • 相关阅读:
    微信小程序设置控件权重
    从外部浏览开启app
    对rxandroid的简单理解
    react native TextInput
    使用广播来进行刷新页面
    react native中对props和state的理解
    android中四大组件之间相互通信
    android tab选项卡的使用
    android控件 ToggleButton的应用
    Listview的使用
  • 原文地址:https://www.cnblogs.com/cxscode/p/11187989.html
Copyright © 2011-2022 走看看