vue组建通信

父组件

<template>
    <div>
      <zi :str="str" @change_fu="getzi"></zi>
      <button @click="change_zi()">修改子组件的数据</button>
      {{data}}
    </div>
</template>

<script>
  import zi from './zi'
    export default {
      components:{zi},
      data(){
        return{
          str:'',
          data:{},
        }
      },
      methods:{
        change_zi(){
          this.str = '我是你爹,让你干啥你干啥'
        },
        getzi(val){
          console.log(val)
          this.data = val
        }
      }
    }
</script>

<style scoped>

</style>

子组件

<template>
    <div>
      <li>
        <ul>ddddddddddhffyftdvhftgiugu</ul>
        {{str}}
        <button @click="send_fu()">孝敬父亲</button>
      </li>
    </div>
</template>

<script>
    export default {
      props:['str'],
      data(){
        return{
          data:{'name':'pp'}
        }
      },
      methods:{
        send_fu(){
          console.log(this.data)
          this.$emit('change_fu',this.data)
        }
      }
    }
</script>

<style scoped>

</style>
⽗⼦组件的调⽤:
Import 导⼊⼦组件
compants注册⼦组件
注册的⼦组件当做标签来使⽤
 
⽗组件给⼦组件传参:
⽗组件⾥的⼦标签⾥写上要传递的数据 (:⼦组件的参数名字=⽗组件的参数名字)
在⼦组件⾥注册参数(props)
使⽤⽗组件传过来的参数
 
⼦组件给⽗组件传参:
⼦组件⾥先⽤特定的⽅法来把数据传递给⽗组件( this.$emit("⽅法的名字",要传递的数据)
⽗组件的⼦标签⾥来接收数据(@⼦组件的⽅法 = ⽗组件的⽅法)
在methods⾥接收传过来的val并赋值。
posted @ 2020-11-26 09:08  就叫我老李吧  阅读(88)  评论(0编辑  收藏  举报