我們都知道通過$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>