vue3父組件使用ref獲取子組件的屬性和方法
在vue3中父組件訪問(wèn)子組件中的屬性和方法是需要借助于ref:
1.<script setup> 中定義響應(yīng)式變量 例如: const demo1 = ref(null)
2.在引入的子組件標(biāo)簽上綁定ref屬性的值與定義的響應(yīng)式變量同名( <demo1 ref="demo1"/>)。
父組件代碼如下:
<template>
<demo1 ref="demo1"/>
<demo2 ref="demo2"/>
<demo3 ref="demo3"/>
</template>
<script setup>
import Demo1 from '@/components/demo1.vue'
import Demo2 from '@/components/demo2.vue'
import Demo3 from '@/components/demo3.vue'
import {ref,onMounted} from 'vue'
const demo1 = ref(null)
const demo2 = ref(null)
const demo3 = ref(null)
onMounted(()=> {
console.log(demo1.value.count,'demo1子組件')
console.log(demo2.value?.a,'demo2子組件')
console.log(demo3.value.list[0],"demo3子組件")
})
</script>
子組件代碼如下:
demo1.vue
<template>
<h1>i'm demo1 content{{count}}</h1>
</template>
<script >
import {ref} from 'vue'
export default {
setup () {
const count = ref(999)
return {
count
}
}
}
此時(shí)父組件可以獲取到子組件的count屬性
demo2
<template>
<h1>我是demo2</h1>
</template>
<script setup>
import {defineExpose,ref} from 'vue'
const a = ref('helloss')
</script>
當(dāng)使用 <script setup> 寫法會(huì)導(dǎo)致父組件無(wú)法訪問(wèn)到子組件中的屬性和方法。
使用
<script setup>的組件,想要讓父組件訪問(wèn)到它的屬性和方法需要借助與defineExpose來(lái)指定需要暴露給父組件的屬性。
更改后的demo2組件
<template>
<h1>我是demo2</h1>
</template>
<script setup>
import {defineExpose,ref} from 'vue'
const a = ref('helloss')
defineExpose({
a
})
</script>
demo3
<template>
<h1>我是demo3</h1>
</template>
<script>
export default {
data () {
return {
list:['a','b','c']
}
},
methods: {
btn () {
}
}
}
這種方式,父組件可以正常獲取到里面的屬性和方法。
到此這篇關(guān)于vue3父組件使用ref獲取子組件的屬性和方法的文章就介紹到這了,更多相關(guān)vue3 ref取獲取子組件內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- vue父組件中獲取子組件中的數(shù)據(jù)(實(shí)例講解)
- vue父組件異步獲取數(shù)據(jù)傳給子組件的方法
- 詳解VUE里子組件如何獲取父組件動(dòng)態(tài)變化的值
- Vue父組件如何獲取子組件中的變量
- vue 父組件通過(guò)$refs獲取子組件的值和方法詳解
- vue.js 子組件無(wú)法獲取父組件store值的解決方式
- vue實(shí)現(xiàn)父組件獲取子組件的方法或?qū)傩灾翟斀?/a>
- vue子組件如何獲取父組件的內(nèi)容(props屬性)
- vue中實(shí)現(xiàn)子組件接收父組件方法并獲取返回值
- vue子組件獲取到它父組件數(shù)據(jù)的4種方法
- VUE父組件異步獲取數(shù)據(jù),子組件接收的值為空的問(wèn)題
- vue父組件異步如何獲取數(shù)據(jù)傳給子組件
- vue子組件實(shí)時(shí)獲取父組件的數(shù)據(jù)實(shí)現(xiàn)
相關(guān)文章
Vue中filter使用及根據(jù)id刪除數(shù)組元素方式
這篇文章主要介紹了Vue中filter使用及根據(jù)id刪除數(shù)組元素方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-03-03
vue addRoutes路由動(dòng)態(tài)加載操作
這篇文章主要介紹了vue addRoutes路由動(dòng)態(tài)加載操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-08-08
vue 查看dist文件里的結(jié)構(gòu)(多種方式)
本文通過(guò)三種方式給大家介紹了vue 查看dist文件里的結(jié)構(gòu),非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-01-01
vue項(xiàng)目打包發(fā)布到Nginx后無(wú)法訪問(wèn)后端接口的解決辦法
這篇文章主要給大家介紹了關(guān)于vue項(xiàng)目打包發(fā)布到Nginx后無(wú)法訪問(wèn)后端接口的解決辦法,記錄一下項(xiàng)目需要注意的地方,方便以后快速使用,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-04-04
vue3中的elementPlus全局組件中文轉(zhuǎn)換方式
這篇文章主要介紹了vue3中的elementPlus全局組件中文轉(zhuǎn)換方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-07-07

