vue關於父組件調用子組件的方法(一個組件調用另一個組件的方法)

我們都知道通過$ref可以獲取到某個DOM,但是它也可以用來獲取子組件的實例,調用子組件的方法

例: 
子組件:

<template>
  <div></div>
</template>

<script>
  export default {
    methods:{
      childMethod(flag) {
        console.log(flag)
      }
    },
    created(){
    }
  }
</script>
父組件: 在子組件中加上ref即可通過this.$refs.ref.method調用

<template>
  <div @click="parentMethod">
    <children ref="child1"></children>
  </div>
</template>

<script>
  import children from 'components/children/children.vue'
  export default {
     data(){
      return {
        flag: true
      }
    },
    components: {      
      'children': children
    },

    methods:{
      parentMethod() {
        console.log(this.$refs.child1) //返回的是一個vue對象,所以可以直接調用其方法
        this.$refs.child1.childMethod(this.flag);  //此處就是調用另一個組件方法的寫法(在DOM上的點擊事件不用寫this)
      }
    }
  }
</script>

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章