vue中子組件調用父組件里面的數據和方法 父組件調用子組件的數據和方法


1.子組件直接調用父組件的數據和方法

在父組件father,vue 

<template>
  <div>
    <!-- 父組件里面的數據 -->
    <p>父組件里面的數據{{data}}</p>  

    <!-- 父組件里面的方法 -->
    <p click="test">父組件里面的方法方法方法方法</p>
    <!-- 使用組件 -->
    <child></child>    
  </div>
</template>
<script>
import child from './components/child.vue'// 引入子組件
export default {
  components:{
    //注冊組件 
    child
  },
  data(){
    return{
      data:'我的父組件data'
    }
  },
  methods:{
    test(){
      console.log('點擊了父組件')
    }
  }
}
</script>

 

下面在子組件中調用父組件的數據和方法

 

<template>
  <div>
    <button @click="toFather">我是子組件  {{this.$parent.data}}</button>
    <!-- this.$parent.data獲取父組件的數據 -->
  </div>
</template>
<script>
export default {
  data(){
    return{}
  },
  methods:{
    toFather() {
      // 直接通過this.$parent.test()獲取方法
      this.$parent.test()
    }
  }
}
</script>

 

總結:

    直接在子組件中   this.$parent.prop  調用的數據

    this.$parent.fn()    調用的方法

 

2.父組件直接調用子組件的數據和方法

父組件調用子組件的地方,添加一個ref的屬性,屬性值任意定義  即在父組件組件中 father.vue

 

<template>
  <div>
    我是父組件
    <!--調用子組件組件  添加ref屬性 -->
    <child ref="getdata"></child>    
    <button @click="getChild">點擊按鈕獲取子組件的數據msg</button>
  </div>
</template>
<script>
import child from './components/child.vue'// 引入子組件
export default {
  components:{
    //注冊組件 
    child
  },
  data(){
    return{
    }
  },
  methods:{
    getChild(){
      // this.$refs.getdata.msg 拿到數據
      console.log(this.$refs.getdata.msg)
    }
  }
}
</script>

 

child.vue的數據

<template>
  <div>
    <button>我是子組件</button>
  </div>
</template>
<script>
export default {
  data(){
    return{
      msg:'我是子組件數據'
    }
  },
  methods:{
  }
}
</script>

總結:

  父組件調用子組件的地方,添加一個ref的屬性,屬性值任意定義
  父組件某一個事件中,可以通過this.$refs.test.prop拿到子組件的數據,可以通過this.$refs.test.fn()調用子組件的方法

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM