手记

Vue2.x之父子组件数据传递

父传子,并且通过fatherEvent接收子组件传过来的值

<template>
    <div class='father'>
        <Son :fatherData="fatherData" @fatherEvent='getSonMsg' />
     </div>
</template>import Son from './Son';
export default{
data(){return{
  fatherData:{
    msgData:"我是父亲"}  
},
components:{
Son
},
methods:{
getSonMsg(msg){
    console.log(`这是从子组件传来的msg${msg}`)
}
}

子组件接受父组件消息,并通过$emit回传父组件(当然也可以不通过watch)

<template>
    <div class='son' >{msg}        <button @click='fatherEmit'></button>
    </div>
</template>
 <script>export default(){
name:"son',
props:{
    fatherData:Object
}
data(){
return{
msg:""}
}
},
watch:{
fatherData:function(newValue,oldValue){
  this.changeData()
}
},
methods:{
changeData(){
this.$nextTick(function(){
this.msg = this.fatherData.msgData
}
}),
fatherEmit(){
this.$emit('fatherEvent','我是额子')
}
}

</script>


5人推荐
随时随地看视频
慕课网APP