vue3中refs用法舉例小結(jié)
前言:
Vue 3的Refs是一種新的API,用于訪問DOM元素或組件實例。Refs提供了一個簡單的方法來訪問DOM元素或組件實例,以便在Vue組件中進(jìn)行操作和處理。在Vue3中,refs用于獲取組件或DOM元素的引用,類似于Vue2中的$refs。但與Vue2不同的是,在Vue3中,refs可以是一個字符串或一個函數(shù)。
當(dāng)refs是一個字符串時,在渲染時會將其關(guān)聯(lián)到相應(yīng)的元素或組件上,然后可以使用.value來訪問它們:
<template>
? ? <div>
? ? ? ? <input ref="inputRef" />
? ? ? ? <button @click="handleClick">Click me</button>
? ? </div>
</template>
<script>
import { ref } from'vue';
export default {
setup() {
const inputRef = ref(null);
const handleClick = () => {
inputRef.value.focus();
};
return {
inputRef,
handleClick,
};
},
};
</script>當(dāng)refs是一個函數(shù)時,在渲染時會將其傳遞給組件的setup()函數(shù),并且每當(dāng)組件重新渲染時都會調(diào)用該函數(shù)。
這使得我們可以動態(tài)地創(chuàng)建和更新引用:
<template>
? ? <div>
? ? ? ? <MyComponent :ref="refHandler" />
? ? </div>
</template>
<script>
import { ref, onMounted } from 'vue';
import MyComponent from './MyComponent.vue';
export default {
components: {
MyComponent,
},
setup() {
const refHandler = (el) => {
console.log(el); // 打印組件實例或DOM元素
};
? ? onMounted(() => {
console.log(refHandler.value);
});
return {
refHandler,
};
},
};
</script>我們使用onMounted生命周期函數(shù),在組件掛載時訪問了myRef引用。由于myRef引用與我們的<div>元素相關(guān)聯(lián),myRef.value將是這個元素的實際DOM元素。我們可以使用這個元素來執(zhí)行任何我們需要的操作
需要注意的是,當(dāng)使用函數(shù)ref時,如果組件沒有被渲染或者已經(jīng)被銷毀,那么被傳遞給ref的回調(diào)函數(shù)參數(shù)將為null。
總結(jié)
到此這篇關(guān)于vue3中refs用法舉例的文章就介紹到這了,更多相關(guān)vue3 refs用法內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
使用生成條形碼并打印和vue-print-nb以及報錯問題的解決
在TypeScript項目中,正確安裝vue3-print-nb并配置env.d.ts聲明模塊,添加tsconfig.json的include路徑,確保全局掛載以實現(xiàn)條形碼和批量打印功能2025-07-07
使用vue + less 實現(xiàn)簡單換膚功能的示例
下面小編就為大家分享一篇使用vue + less 實現(xiàn)簡單換膚功能的示例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-02-02
webpack+vue中使用別名路徑引用靜態(tài)圖片地址
這篇文章主要介紹了webpack+vue中使用別名路徑引用靜態(tài)圖片地址,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-11-11

