vue3中refs用法舉例小結(jié)
前言:
Vue 3的Refs是一種新的API,用于訪問DOM元素或組件實(shí)例。Refs提供了一個簡單的方法來訪問DOM元素或組件實(shí)例,以便在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); // 打印組件實(shí)例或DOM元素 }; ? ? onMounted(() => { console.log(refHandler.value); }); return { refHandler, }; }, }; </script>
我們使用onMounted生命周期函數(shù),在組件掛載時訪問了myRef引用。由于myRef引用與我們的<div>元素相關(guān)聯(lián),myRef.value將是這個元素的實(shí)際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新手指南之創(chuàng)建第一個vue-cli腳手架程序
vue-cli 是一個官方發(fā)布 vue.js 項(xiàng)目腳手架,使用 vue-cli 可以快速創(chuàng)建 vue 項(xiàng)目。這篇文章主要給大家介紹了關(guān)于Vue新手指南之創(chuàng)建第一個vue-cli程序的相關(guān)資料,需要的朋友可以參考下2021-05-05elementui的table根據(jù)是否符合需求合并列的實(shí)現(xiàn)代碼
這篇文章主要介紹了elementui的table根據(jù)是否符合需求合并列的實(shí)現(xiàn)代碼,代碼簡單易懂,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧2024-03-03關(guān)于Element UI table 順序拖動方式
這篇文章主要介紹了關(guān)于Element UI table 順序拖動方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-08-08antv完成區(qū)間柱形圖一列多柱配置實(shí)現(xiàn)詳解
這篇文章主要為大家介紹了antv完成區(qū)間柱形圖一列多柱配置實(shí)現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-10-10vue項(xiàng)目打包以及優(yōu)化的實(shí)現(xiàn)步驟
項(xiàng)目完成,我們會將項(xiàng)目進(jìn)行上線,為了提升性能,我們往往會進(jìn)行一些優(yōu)化處理,本文主要介紹了vue項(xiàng)目打包以及優(yōu)化的實(shí)現(xiàn)步驟,感興趣的可以了解一下2021-07-07Vue-cli 使用json server在本地模擬請求數(shù)據(jù)的示例代碼
本篇文章主要介紹了Vue-cli 使用json server在本地模擬請求數(shù)據(jù)的示例代碼,非常具有實(shí)用價值,需要的朋友可以參考下2017-11-11vue實(shí)現(xiàn)吸頂、錨點(diǎn)和滾動高亮按鈕效果
這篇文章主要介紹了vue實(shí)現(xiàn)一個簡單的吸頂、錨點(diǎn)和滾動高亮按鈕效果,需要的朋友可以參考下2019-10-10Vue 封裝防刷新考試倒計(jì)時組件的實(shí)現(xiàn)
這篇文章主要介紹了Vue 封裝防刷新考試倒計(jì)時組件的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06