vue3模板引用ref

1.訪問模板引用

要在組合式 API 中獲取引用,我們可以使用輔助函數?useTemplateRef()?

只可以在組件掛載后才能訪問模板引用

<script setup>
import { useTemplateRef, onMounted } from 'vue'// 第一個參數必須與模板中的 ref 值匹配
const input = useTemplateRef('my-input')onMounted(() => {input.value.focus()
})
</script><template><input ref="my-input" />
</template>

2.?v-for?中的模板引用

當在?v-for?中使用模板引用時,對應的 ref 中包含的值是一個數組,它將在元素被掛載后包含對應整個列表的所有元素

但是ref 數組并不保證與源數組相同的順序

<script setup>
import { ref, useTemplateRef, onMounted } from 'vue'const list = ref([/* ... */
])const itemRefs = useTemplateRef('items')onMounted(() => console.log(itemRefs.value))
</script><template><ul><li v-for="item in list" ref="items">{{ item }}</li></ul>
</template>

3.組件上的 ref

<script setup>
import { useTemplateRef, onMounted } from 'vue'
import Child from './Child.vue'const childRef = useTemplateRef('child')onMounted(() => {// childRef.value 將持有 <Child /> 的實例
})
</script><template><Child ref="child" />
</template>

注意:

(1)如果是選項式API或沒有使用?<script setup>,父組件對子組件的每一個屬性和方法都有完全的訪問權.

(2)但是使用了?<script setup>?的組件是默認私有的,也就是父組件無法訪問子組件上的任何東西,需要添加defineExpose?宏顯式暴露

<script setup>
import { ref } from 'vue'const a = 1
const b = ref(2)// 像 defineExpose 這樣的編譯器宏不需要導入
defineExpose({a,b
})
</script>

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/65764.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/65764.shtml
英文地址,請注明出處:http://en.pswp.cn/web/65764.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

如何用 SSH 訪問 QNX 虛擬機

QNX 虛擬機默認是開啟 SSH 服務的&#xff0c;如果要用 SSH 訪問 QNX 虛擬機&#xff0c;就需要知道虛擬機的 IP 地址&#xff0c;用戶和密碼。本文我們來看看如何獲取這些參數。 1. 啟動虛擬機 啟動過程很慢&#xff0c;請耐心等待。 2. 查看 IP 地址 等待 IDE 連接到虛擬機。…

【Java基礎】Java異常捕捉,throws/throw、finally、try、catch關鍵字的含義與運用

1. Java 異常處理&#xff1a; 異常是程序中的一些錯誤&#xff0c;但并不是所有的錯誤都是異常&#xff0c;并且錯誤有時候是可以避免的。 比如說&#xff0c;你的代碼少了一個分號&#xff0c;那么運行出來結果是提示是錯 java.lang.Error&#xff1b;如果你用System.out.p…

js 中堆、棧、隊列+宏任務+微任務+web workers

文章目錄 js 中堆、棧、隊列介紹js中 堆、棧、隊列的區別與應用拓展&#xff08;宏任務與微任務&#xff09;Web Workers js 中堆、棧、隊列介紹 棧&#xff08;Stack&#xff09; 概念&#xff1a; 棧是一種遵循后進先出&#xff08;LIFO - Last In First Out&#xff09;原則…

java面向對象編程特性概述

目錄 1. 類和對象 2. 封裝&#xff08;Encapsulation&#xff09; 3. 繼承&#xff08;Inheritance&#xff09; 4. 多態&#xff08;Polymorphism&#xff09; 5. 抽象&#xff08;Abstraction&#xff09; (1). 抽象類&#xff08;Abstract Class&#xff09; (2).接口…

React(二)——Admin主頁/Orders頁面/Category頁面

文章目錄 項目地址一、側邊欄1.1 具體實現 二、Header2.1 實現 三、Orders頁面3.1 分頁和搜索3.2 點擊箭頭顯示商家所有訂單3.3 頁碼按鈕以及分頁 四、Category頁面4.1 左側商品添加欄目4.2 右側商品上傳欄 五、Sellers頁面六、Payment Request 頁面&#xff08;百萬數據加載&a…

maven 下載依賴 jhash:2.1.2 和對應 jar 包

原文地址 前言 25年新的一年&#xff0c;那就先更新一篇技術文章吧&#xff0c;這個是這幾天剛遇到的一個有意思的bug&#xff0c;記錄分享一下 原因分析 在使用maven加載一個項目的時&#xff0c;發現maven的依賴一直無法解析&#xff0c;更換阿里云鏡像和中央倉庫都沒辦法…

谷歌開放語音命令數據集,助力初學者踏入音頻識別領域

在人工智能的浪潮中&#xff0c;語音識別技術正逐漸成為我們日常生活的一部分。從智能助手到語音控制設備&#xff0c;語音識別的應用場景越來越廣泛。然而&#xff0c;對于初學者來說&#xff0c;進入這一領域往往面臨諸多挑戰&#xff0c;尤其是缺乏合適的開源數據集和簡單的…

nums[:]數組切片

問題&#xff1a;給定一個整數數組 nums&#xff0c;將數組中的元素向右輪轉 k 個位置&#xff0c;其中 k 是非負數。 使用代碼如下沒有辦法通過測試示例&#xff0c;必須將最后一行代碼改成 nums[:]nums[-k:]nums[:-k]切片形式&#xff1a; 原因&#xff1a;列表的切片操作 …

python-leetcode-三數之和

15. 三數之和 - 力扣&#xff08;LeetCode&#xff09; class Solution:def threeSum(self, nums: List[int]) -> List[List[int]]:nums.sort() # 排序n len(nums)res []for i in range(n):# 剪枝&#xff1a;如果當前數 > 0&#xff0c;三數之和不可能為 0if nums[i]…

字節小米等后端崗位C++面試題

C 基礎 引用和指針之間的區別&#xff1f;堆棧和堆中的內存分配有何區別&#xff1f;存在哪些類型的智能指針&#xff1f;unique_ptr 是如何實現的&#xff1f;我們如何強制在 unique_ptr 中僅存在一個對象所有者&#xff1f;shared_ptr 如何工作&#xff1f;對象之間如何同步…

極狐GitLab 正式發布安全版本17.7.1、17.6.3、17.5.5

本分分享極狐GitLab 補丁版本 17.7.1, 17.6.3, 17.5.5 的詳細內容。這幾個版本包含重要的缺陷和安全修復代碼&#xff0c;我們強烈建議所有私有化部署用戶應該立即升級到上述的某一個版本。對于極狐GitLab SaaS&#xff0c;技術團隊已經進行了升級&#xff0c;無需用戶采取任何…

探索綠色能源系統的固態繼電器:2025年展望

隨著全球向綠色能源轉型的加速&#xff0c;對高效、可靠和環保元件的需求從未如此強烈。在這種背景下&#xff0c;國產固態繼電器(SSR)在實現太陽能逆變器、風力渦輪機和儲能系統等關鍵技術方面發揮著關鍵作用。本文探討了綠色能源系統背景下中國固態繼電器行業的前景&#xff…

Rust語言使用iced實現簡單GUI頁面

使用cargo新建一個rust項目 cargo new gui_demo cd gui_demo 編輯Cargo.toml文件 ,添加iced依賴 [package] name "gui_demo" version "0.1.0" edition "2021"[dependencies] iced "0.4.2" 編輯src/main.rs文件&#xff1a; u…

Github提交Pull Request教程 Git基礎掃盲(零基礎易懂)

1 PR是什么&#xff1f; PR&#xff0c;全稱Pull Request&#xff08;拉取請求&#xff09;&#xff0c;是一種非常重要的協作機制&#xff0c;它是 Git 和 GitHub 等代碼托管平臺中常見的功能&#xff0c;被廣泛用于參與社區貢獻&#xff0c;從而促進項目的發展。 PR的整個過…

MySQL 中刪除重復數據 SQL 寫法

要在 MySQL 中刪除重復的數據并只保留一條&#xff0c;可以使用下面的方法&#xff08;要用的時候直接復制小改下條件和表名稱即即可&#xff09; 方法一&#xff1a;使用 left join 子查詢刪除重復數據(推薦) 溫馨提示&#xff1a;本人在 500w 數據下執行此 SQL 耗費 15s-30s…

RabbitMQ 可觀測性最佳實踐

RabbitMQ 簡介 RabbitMQ 是一個開源的消息代理和隊列服務器&#xff0c;用 Erlang 語言編寫&#xff0c;支持多種客戶端。它通過使用交換機&#xff08;Exchanges&#xff09;、隊列&#xff08;Queues&#xff09;和綁定&#xff08;Bindings&#xff09;來路由消息&#xff…

美攝科技PC端視頻編輯解決方案,為企業打造專屬的高效創作平臺

在當今這個信息爆炸的時代&#xff0c;視頻已成為不可或缺的重要內容形式&#xff0c;美攝科技推出了PC端視頻編輯解決方案的私有化部署服務&#xff0c;旨在為企業提供一款量身定制的高效創作平臺。 一、全面功能&#xff0c;滿足企業多樣化需求 美攝科技的PC端視頻編輯解決…

【Oracle篇】深入了解執行計劃中的訪問路徑(含表級別、B樹索引、位圖索引、簇表四大類訪問路徑)

&#x1f4ab;《博主介紹》&#xff1a;?又是一天沒白過&#xff0c;我是奈斯&#xff0c;從事IT領域? &#x1f4ab;《擅長領域》&#xff1a;??擅長阿里云AnalyticDB for MySQL(分布式數據倉庫)、Oracle、MySQL、Linux、prometheus監控&#xff1b;并對SQLserver、NoSQL(…

騰訊云AI代碼助手編程挑戰賽-廚房助手之AI大廚

騰訊云AI代碼助手編程挑戰賽-廚房助手之AI大廚 作品簡介 身處當今如火箭般迅猛發展的互聯網時代&#xff0c;智能聊天助手已然化身成為提升用戶體驗的關鍵利器&#xff0c;全方位滲透至人們的數字生活。 緊緊跟隨著這股洶涌澎湃的時代浪潮&#xff0c;我毅然投身于極具挑戰性…

vscode 無法使用npm, cmd命令行窗口可以正常執行

解決方法&#xff1a; 執行命令獲得命令的位置 get-command npm 得到如下 然后刪除或者修改 npm.ps1文件 讓其不能使用就行。然后重啟vscode即可。 pnpm 同理即可 另外加速源 國內鏡像源&#xff08;淘寶&#xff09;&#xff1a; npm config set registry https://regist…