vue3?ref獲取組件實(shí)例詳細(xì)圖文教程
1.ref獲取組件實(shí)例時(shí)前面不要寫(xiě)冒號(hào)
需要注意的是通過(guò)ref拿到組件的屬性或方法必須是子組件return出來(lái)的
具體如下
<!--tempaleteb標(biāo)簽的內(nèi)容-->
<!-- 注意:ref前面不能有冒號(hào) -->
? ? <h1 ref="title">我是標(biāo)題</h1>
? ? <child ref="child"></child>? ? ? ? ? ? ?
//setup函數(shù)內(nèi)的內(nèi)容
?// 通過(guò)ref獲取組件實(shí)例
? ? const child = ref(null)
? ? const title = ref(null)
//掛載完成后獲取實(shí)例
? ? onMounted(() => {
? ? ? ? console.log(child.value)
? ? ? ? console.log(title.value)
? ? ? ? child.value.hh()
? ? })效果圖如下

2.組件介紹
Fragment 組件
在 vue2.x 中組件模板必須要一個(gè)根標(biāo)簽;但是在 vue3.x 中不再需要一個(gè)根標(biāo)簽,它會(huì)自 動(dòng)創(chuàng)建一個(gè) Fragment
<template>
<div>我是描述</div>
<h3>我是標(biāo)題</h3>
</template>
<script>
export default {};
</script>
<style></style>3.Suspense 組件
加載異步組件的時(shí)候,渲染一些其他內(nèi)容
App.vue
<template>
? <div class="app">
? ? <Suspense>
? ? ? <template v-slot:default>
? ? ? ? <Child />
? ? ? </template>
? ? ? <template v-slot:fallback>
? ? ? ? <h1>加載中...</h1>
? ? ? </template>
? ? </Suspense>
? </div>
</template>
<script>
// import Child from './Child.vue'; // 程序開(kāi)始就會(huì)打包編譯
// 導(dǎo)入defineAsyncComponent 方法 定義異步加載組件
import { defineAsyncComponent } from "vue";
const Child = defineAsyncComponent(() => import("./Child.vue"));
export default {
? components: {
? ? Child,
? },
};
</script>
<style scoped>
.app {
? background-color: #eee;
? padding: 30px;
}
</style>child.vue
<template>
<div class="child">我是子組件</div>
</template>
<script>
export default {};
</script>
<style scoped>
.child {
border: 2px solid red;
margin: 20px;
padding: 20px;
}
</style>4.Teleport 組件
作用: 將指定 DOM 內(nèi)容移動(dòng)到指定的某個(gè)節(jié)點(diǎn)里面(可以理解為將組件掛載到指定節(jié)點(diǎn)上面) 使用場(chǎng)景: 彈框、播放器組件的定位
dialog.vue
<template>
<div class="dialog">我是彈框</div>
</template>
<script>
export default {};
</script>
<style scoped>
.dialog {
width: 300px;
height: 300px;
padding: 30px;
background-color: #fff;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
}
</style>app.vue
<template>
<div class="app">
<h3>我是標(biāo)題</h3>
<h1>我是一級(jí)標(biāo)題</h1>
<div id="test">
<!-- to屬性的值為選擇器,表示放在哪個(gè)節(jié)點(diǎn)下面 -->
<teleport to="body">
<Dialog />
</teleport>
</div>
</div>
</template>
<script>
import Dialog from "./Dialog.vue";
export default {
components: {
Dialog,
},
};
</script>
<style scoped>
.app {
background-color: #eee;
padding: 30px;
}
</style>運(yùn)行結(jié)果

總結(jié)
到此這篇關(guān)于vue3 ref獲取組件實(shí)例的文章就介紹到這了,更多相關(guān)vue3 ref獲取組件實(shí)例內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
vue與vue-i18n結(jié)合實(shí)現(xiàn)后臺(tái)數(shù)據(jù)的多語(yǔ)言切換方法
下面小編就為大家分享一篇vue與vue-i18n結(jié)合實(shí)現(xiàn)后臺(tái)數(shù)據(jù)的多語(yǔ)言切換方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-03-03
webpack搭建vue環(huán)境時(shí)報(bào)錯(cuò)異常解決
這篇文章主要介紹了webpack搭建vue環(huán)境時(shí)報(bào)錯(cuò)異常解決,本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-09-09
使用Element-UI的el-tabs組件,瀏覽器卡住了的問(wèn)題及解決
這篇文章主要介紹了使用Element-UI的el-tabs組件,瀏覽器卡住了的問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-08-08
vue使用動(dòng)態(tài)組件實(shí)現(xiàn)TAB切換效果完整實(shí)例
在實(shí)際項(xiàng)目開(kāi)發(fā)中,我們經(jīng)常會(huì)遇到選項(xiàng)卡切換,對(duì)于一個(gè)前端工程師來(lái)說(shuō),組件化/模塊化開(kāi)發(fā)是一種必備的行為規(guī)范,下面這篇文章主要給大家介紹了關(guān)于vue使用動(dòng)態(tài)組件實(shí)現(xiàn)TAB切換效果的相關(guān)資料,需要的朋友可以參考下2023-05-05
Vue系列之Element?UI表單自定義校驗(yàn)規(guī)則
表單校驗(yàn)是注冊(cè)環(huán)節(jié)中必不可少的操作,表單校驗(yàn)可以提醒用戶填寫(xiě)數(shù)據(jù)規(guī)則以確保用戶提交數(shù)據(jù)的效性,也可以防止用戶因誤操作而占用服務(wù)器資源,這篇文章主要給大家介紹了關(guān)于Vue系列之Element?UI表單自定義校驗(yàn)規(guī)則的相關(guān)資料,需要的朋友可以參考下2022-09-09
vue實(shí)現(xiàn)多個(gè)el-form表單提交統(tǒng)一校驗(yàn)的2個(gè)方法
這篇文章主要給大家介紹了關(guān)于vue實(shí)現(xiàn)多個(gè)el-form表單提交統(tǒng)一校驗(yàn)的2個(gè)方法,文中通過(guò)代碼示例介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或使用vue具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-07-07
Vue-drag-resize 拖拽縮放插件的使用(簡(jiǎn)單示例)
本文通過(guò)代碼給大家介紹了Vue-drag-resize 拖拽縮放插件使用簡(jiǎn)單示例,代碼簡(jiǎn)單易懂,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-12-12
使用vue-cli3 創(chuàng)建vue項(xiàng)目并配置VS Code 自動(dòng)代碼格式化 vue語(yǔ)法高亮問(wèn)題
這篇文章主要介紹了使用vue-cli3 創(chuàng)建vue項(xiàng)目,并配置VS Code 自動(dòng)代碼格式化 vue語(yǔ)法高亮問(wèn)題,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-05-05

