vue3中refs用法舉例小結
前言:
Vue 3的Refs是一種新的API,用于訪問DOM元素或組件實例。Refs提供了一個簡單的方法來訪問DOM元素或組件實例,以便在Vue組件中進行操作和處理。在Vue3中,refs用于獲取組件或DOM元素的引用,類似于Vue2中的$refs。但與Vue2不同的是,在Vue3中,refs可以是一個字符串或一個函數(shù)。
當refs是一個字符串時,在渲染時會將其關聯(lián)到相應的元素或組件上,然后可以使用.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>
當refs是一個函數(shù)時,在渲染時會將其傳遞給組件的setup()函數(shù),并且每當組件重新渲染時都會調(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>元素相關聯(lián),myRef.value將是這個元素的實際DOM元素。我們可以使用這個元素來執(zhí)行任何我們需要的操作
需要注意的是,當使用函數(shù)ref時,如果組件沒有被渲染或者已經(jīng)被銷毀,那么被傳遞給ref的回調(diào)函數(shù)參數(shù)將為null。
總結
到此這篇關于vue3中refs用法舉例的文章就介紹到這了,更多相關vue3 refs用法內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Vue新手指南之創(chuàng)建第一個vue-cli腳手架程序
vue-cli 是一個官方發(fā)布 vue.js 項目腳手架,使用 vue-cli 可以快速創(chuàng)建 vue 項目。這篇文章主要給大家介紹了關于Vue新手指南之創(chuàng)建第一個vue-cli程序的相關資料,需要的朋友可以參考下2021-05-05elementui的table根據(jù)是否符合需求合并列的實現(xiàn)代碼
這篇文章主要介紹了elementui的table根據(jù)是否符合需求合并列的實現(xiàn)代碼,代碼簡單易懂,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧2024-03-03antv完成區(qū)間柱形圖一列多柱配置實現(xiàn)詳解
這篇文章主要為大家介紹了antv完成區(qū)間柱形圖一列多柱配置實現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-10-10Vue-cli 使用json server在本地模擬請求數(shù)據(jù)的示例代碼
本篇文章主要介紹了Vue-cli 使用json server在本地模擬請求數(shù)據(jù)的示例代碼,非常具有實用價值,需要的朋友可以參考下2017-11-11