vue中父子组件间传值

vue中父子组件间传值

  • props / $emit
  • $parent / $children
  • $ref
    props
    父组件
    ---------在父组件中导入子组件
<Add  msg1="msg1 当传递的数据为字符串时"   :msg2="this.msg2"/>

import Add from './aa.vue'
components:{
      Add
 },
 
data(){
      return{
           msg2:'msg2 child'
     }
},

子组件 add.vue

        <p>{{msg1}}</p>
        <p>{{msg2}}</p>
        
export default {
      props:{
          msg1:{
              type:String,
              default:''
          },
          msg2:{
              type:String,
              default:''
          }
      }  
    }

$emit
父组件

<Add  @showMsg='showMsg'/>
<p>{{msg3}}</p>

data(){
     return{
          msg3:'',	//在data中定义msg3
     }
},

子组件 $emit(‘自定义事件名’,‘参数’ )

<button @click="passMsg">子传父</button>

methods:{
          passMsg(){
            //   通过$emit自定义一个shoMsg事件  $emit('自定义事件名','参数' )
              this.$emit('showMsg','通过emit事件实现子传父')
          }
      } 

$parent / $children

mounted(){
	//直接调取子组件数据    获取到的是 数组
    console.log(this.$children[0])
 },

$ref
父组件中

<Add  ref="refchildren"/>

mounted(){
    // ref相当于给子组件命名了,比起children更容易找到对应的子组件
    console.log('ref',this.$refs.refchildren)
},
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值