Vue 3.4 新特性詳解:Composition API 與 Effect 作用域 API 實戰

一、Vue 3.4 核心特性概覽

Vue 3.4 代號「?? Slam Dunk」,帶來多項關鍵升級:

  • 模板解析器性能翻倍:單文件組件(SFC)構建效率提升 44%,解析速度提升 2 倍。
  • 響應式系統優化:計算屬性和 watchEffect 觸發更精準,減少無效渲染。
  • Effect 作用域 API 穩定:通過 effectScopeonScopeDispose 實現副作用的細粒度管理,解決內存泄漏痛點。
  • defineModel 宏成熟:簡化 v-model 組件開發,支持修飾符語法。

本文結合實戰案例,深度解析 Composition API 與 Effect 作用域 API,助你提升代碼組織能力與開發效率。

二、Composition API 核心能力實戰

2.1 響應式數據管理

基礎類型與復雜對象的選擇
  • ref:用于基礎類型(如數字、字符串),返回帶 .value 的響應式引用:
    <script setup>  
    import { ref } from 'vue'  
    const count = ref(0) // 基礎類型響應式  
    </script>  
    
  • reactive:用于對象/數組,返回響應式代理:
    <script setup>  
    import { reactive } from 'vue'  
    const state = reactive({ user: { name: 'Alice' }, todos: [] }) // 復雜數據響應式  
    </script>  
    
響應式解構:保持數據關聯

通過 toRefs 解構對象,避免失去響應式:

<script setup>  
import { reactive, toRefs } from 'vue'  
const state = reactive({ score: 100, user: { name: 'Bob' } })  
const { score, user } = toRefs(state) // 解構后屬性仍為響應式  
</script>  

2.2 組合函數:邏輯復用的「瑞士軍刀」

將可復用邏輯封裝為獨立函數,提升代碼復用性。

示例:帶本地存儲的計數器
// usePersistedCounter.js  
import { ref, watch, onMounted } from 'vue'  
export function usePersistedCounter(key, initialValue = 0) {  const count = ref(initialValue)  // 加載本地數據  onMounted(() => {  const stored = localStorage.getItem(key)  if (stored) count.value = parseInt(stored)  })  // 保存數據到本地  watch(count, (val) => localStorage.setItem(key, val.toString

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

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

相關文章

【day8】調用AI接口,生成自動化測試用例

1、項目結構建議 project/ ├── api_docs/ # 存放接口文檔 │ └── XX系統.swagger.json ├── ai_generator/ # AI測試用例生成模塊 │ └── test_case_generator.py ├── tests/ # 生成的測試用例 │ └── test_user_api.py ├── conftest.py # pytest配置 ├─…

React應用開發學習指南

AI生成研究報告&#xff1a;關鍵詞 React應用開發 React 已經成為前端 Web 開發領域的主導力量&#xff0c;它是一個免費且開源的 JavaScript 庫&#xff0c;主要用于構建用戶界面 (UI) 1。其多功能性延伸到為 Web 和原生應用程序創建 UI&#xff0c;使其成為行業內備受追捧的…

MSTP+VRRP+DHCP(ENSP)

下載鏈接 通過網盤分享的文件&#xff1a;MSTPVRRPDHCP拓撲圖 鏈接: https://pan.baidu.com/s/1ehRwRQ-WzKC8PsUHsTe70Q?pwd345d 提取碼: 345d PC1 PC2 PC5 AR1 為AR1各端口配置IP地址 <Huawei>sys [Huawei]un in en [Huawei]int g0/0/0 [Huawei-GigabitEthernet0/0/…

第一個Qt開發的OpenCV程序

OpenCV計算機視覺開發實踐&#xff1a;基于Qt C - 商品搜索 - 京東 下載安裝Qt&#xff1a;https://download.qt.io/archive/qt/5.14/5.14.2/qt-opensource-windows-x86-5.14.2.exe 下載安裝OpenCV&#xff1a;https://opencv.org/releases/ 下載安裝CMake&#xff1a;Downl…

深入解析 Python 中的裝飾器 —— 從基礎到實戰

1. 裝飾器基礎 1.1 什么是裝飾器&#xff1f; 裝飾器本質上是一個 Python 函數&#xff0c;它可以讓其他函數在不需要做任何代碼變動的前提下增加額外功能。裝飾器的返回值也是一個函數對象。 1.2 語法糖&#xff1a; 符號 Python 提供了 符號作為裝飾器的語法糖&#xff0c…

研究生面試常見問題

研究生面試是考研復試的重要環節&#xff0c;面試表現直接關系到錄取結果。以下從面試流程、常見問題分類及回答技巧等方面為您整理了相關內容&#xff0c;幫助您更好地準備面試。 一、研究生面試的基本流程 自我介紹&#xff1a;通常需要準備1分鐘左右的中文或英文自我介紹&a…

無人機避障與目標識別技術分析!

一、無人機避障技術 1. 技術實現方式 傳感器融合&#xff1a; 視覺傳感&#xff08;RGB/雙目/紅外相機&#xff09;&#xff1a;基于SLAM&#xff08;同步定位與地圖構建&#xff09;實現環境建模&#xff0c;但依賴光照條件。 激光雷達&#xff08;LiDAR&#xff09;&…

Facebook隱私保護:從技術到倫理的探索

在這個數字化時代&#xff0c;隱私保護已成為公眾關注的焦點。Facebook&#xff0c;作為全球最大的社交媒體平臺之一&#xff0c;其用戶隱私保護問題更是引起了廣泛的討論。本文將從技術層面和倫理層面探討 Facebook 在隱私保護方面的努力和挑戰。 技術層面的隱私保護 在技術…

vmware17 虛擬機 ubuntu22.04 橋接模式,虛擬機無法接收組播消息

問題描述&#xff1a; 在一個項目中&#xff0c;宿主機win10中&#xff0c;使用的vmware17pro 虛擬機安裝的ubuntu22.04&#xff0c;按照網上的教程使用Qt綁定組播消息&#xff0c;在另外一個Ubuntu工控機上發送用wiresahrk抓包的組播消息 sudo tcpreplay -i enp1s0 --loop0 y…

《Operating System Concepts》閱讀筆記:p735-p737

《Operating System Concepts》學習第 62 天&#xff0c;p735-p737 總結&#xff0c;總計 3 頁。 一、技術總結 1.distributed system (1)定義 A collection of loosely coupled nodes interconnected by a communication network(一組通過通信網絡相互連接的松散耦合節點)…

NO.92十六屆藍橋杯備戰|圖論基礎-最小生成樹-Prim算法-Kruskal算法|買禮物|繁忙的都市|滑雪(C++)

一個具有n個頂點的連通圖&#xff0c;其?成樹為包含n-1條邊和所有頂點的極?連通?圖。對于?成樹來說&#xff0c;若砍去?條邊就會使圖不連通圖&#xff1b;若增加?條邊就會形成回路。 ?個圖的?成樹可能有多個&#xff0c;將所有?成樹中權值之和最?的樹稱為最??成樹…

小白從0學習網站搭建的關鍵事項和避坑指南(2)

以下是針對小白從零學習網站搭建的 進階注意事項和避坑指南&#xff08;第二期&#xff09;&#xff0c;覆蓋開發中的高階技巧、常見陷阱及解決方案&#xff0c;幫助你在實戰中提升效率和質量&#xff1a; 一、進階技術選型避坑 1. 前端框架選擇 誤區&#xff1a;盲目追求最新…

Java的Servlet的監聽器Listener 筆記250417

Java的Servlet的監聽器Listener 筆記250417 分類1: 一、生命周期監聽器 監聽容器&#xff08;如 Tomcat&#xff09;中應用、會話或請求的創建與銷毀。 監聽器接口觸發事件典型用途ServletContextListener應用啟動 (contextInitialized)、關閉 (contextDestroyed)全局資源管…

網絡安全領域的AI戰略準備:從概念到實踐

網絡安全領域的AI準備不僅涉及最新工具和技術的應用&#xff0c;更是一項戰略必需。許多企業若因目標不明確、數據準備不足或與業務重點脫節而未能有效利用AI技術&#xff0c;可能面臨嚴重后果&#xff0c;包括高級網絡威脅數量的激增。 AI準備的核心要素 構建穩健的網絡安全…

[數據結構]2. 順序表

順序表 1. 介紹基本概念存儲方式優點缺點應用場景 2. 順序表操作SeqList.hSeqlist.c 1. 介紹 基本概念 順序表是用一組地址連續的存儲單元依次存儲線性表的數據元素。線性表是具有相同數據類型的 n 個數據元素的有限序列&#xff0c;在順序表中&#xff0c;元素之間的邏輯順序…

o3和o4-mini的升級有哪些亮點?

ChatGPT是基于OpenAI GPT系列的高性能對話生成AI&#xff0c;經過多代迭代不斷提升自然語言理解和生成能力。 在過去的一年中&#xff0c;OpenAI先后發布了GPT-4、GPT?4.1及多種mini版本&#xff0c;為不同使用場景提供靈活選擇。? 隨著用戶需求向更高效、更精準的推理和視覺…

Chrome漏洞可竊取數據并獲得未經授權的訪問權限

在發現兩個關鍵漏洞后,谷歌發布了Chrome瀏覽器的緊急安全更新。這些漏洞可能允許攻擊者竊取敏感數據并未經授權訪問用戶系統。 這些缺陷被識別為CVE-2025-3619和CVE-2025-3620,在Windows和Mac的135.0.7049.95/.96之前影響Chrome版本,影響Linux的135.0.7049.95/.96。該更新將在…

力扣面試150題--兩數之和 和 快樂數

Day 25 題目描述 思路 創建一個hashmap從前向后遍歷數組如果存在target-nums[i]在map中&#xff0c;記錄它們兩個的序號返回即可不存在&#xff0c;就將該元素放入map中&#xff0c;存放序號 注意&#xff1a;題目說的是必然存在唯一解 class Solution {public int[] twoSum…

Flutter_學習記錄_狀態管理之GetX

Flutter GetX 狀態管理框架全面解析 1. 狀態管理與 Flutter GetX 介紹 1.1 狀態管理 通俗理解&#xff1a;當我們需要在多個頁面&#xff08;組件/Widget&#xff09;之間共享狀態&#xff08;數據&#xff09;&#xff0c;或者在一個頁面中的多個子組件之間共享狀態時&…

ASP.NET常見安全漏洞及修復方式

Microsoft IIS 版本信息泄露 查看網頁返回的 Header 信息&#xff0c;默認會包含 IIS&#xff0c;ASP.NET 版本信息&#xff1a; 隱藏 Server 標頭 編輯 web.config 文件&#xff0c;在 system.webServer 節點中配置 requestFiltering 來移除Server標頭&#xff1a; <sec…