Vue知識框架

?一、Vue 基礎核心

1. 響應式原理

數據驅動:通過 ?data??定義響應式數據,視圖自動同步數據變化。

2、核心機制
  • Object.defineProperty(Vue 2.x)或 Proxy(Vue 3.x)實現數據劫持。
  • 依賴收集:追蹤數據與視圖的依賴關系,觸發精準更新。
  • 虛擬 DOM(Virtual DOM):對比新舊 VDOM 差異,最小化 DOM 操作。
3. 組件化開發

(1)單文件組件(.vue):

  • <templete>:HTML模板,支持插值表達式和指令。
  • <script>:組件邏輯,選項式API和組合式API。
  • <style>:組件樣式,支持scoped隔離樣式。

?(2)組件通信

  • 父子組件:props父傳子$emit子傳父
  • 跨組件:全局狀態管理工具,Vuex,Pinia,事件總線
  • 插槽:內容分發。

4、指令系統

  • v-bind?:綁定屬性(簡寫 ?:?,如 ?:class?、?:style?)。
  • v-on?:綁定事件(簡寫 ?@?,如 ?@click?、?@input?)。
  • v-model?:雙向數據綁定(表單元素常用)。
  • v-if?/?v-else-if?/?v-else?:條件渲染。
  • v-for?:列表渲染(需配合 ?:key??優化 diff 算法)。
  • v-show?:控制元素顯示/隱藏(基于 CSS ?display?)。
  • 自定義指令:通過 ?directives??配置,用于 DOM 操作(如權限控制、防抖)。

二、Vue 進階特性

1. 生命周期鉤子
  • 創建階段:?beforeCreate?(實例剛創建,無數據)→? created?(數據初始化完成,可調用 API)。
  • - 掛載階段:?beforeMount?(模板編譯前)→ ?mounted?(掛載到 DOM 后,可操作 DOM)。
  • - 更新階段:?beforeUpdate?(數據更新前)→ ?updated?(數據更新后,DOM 已同步)。
  • - 卸載階段:?beforeUnmount?(卸載前)→ ?unmounted?(組件銷毀后,清理定時器等)。
  • - 錯誤處理:?errorCaptured?(捕獲子組件錯誤)。
2、計算屬性和監聽屬性
  • computed:基于以來緩存結果,只有依賴變化時才會重新計算。
  • watch:監聽特定數據變化,執行異步或復雜邏輯。
3、過渡和動畫
  • 內置組件:?<transition>?(單元素/組件過渡)、?<transition-group>?(列表過渡)。
  • CSS 類名:?v-enter?/?v-enter-active??等,配合 CSS 動畫或第三方庫(如 Animate.css)。
  • JavaScript 鉤子:?before-enter?、?after-enter??等,可自定義 JS 動畫。
4. 路由管理
  • ?聲明式導航:?<router-link to="/path">??跳轉,?<router-view>??渲染組件。
  • ?路由模式:?hash?(默認,兼容性好)、?history?(需服務端配置)。
  • ?動態路由:?:id??匹配參數(如 ?/user/:id?),通過 ?$route.params??訪問。
  • ?路由守衛:全局守衛(?router.beforeEach?)、組件內守衛(?beforeRouteEnter?)。
  • ?嵌套路由:通過 ?children??配置多級路由(如 ?/user/1/profile?)。

三、Vue生態和周邊

1、狀態管理工具
  • Vuex:state?(狀態)、?mutations?(同步修改)、?actions?(異步邏輯)、?getters?(計算屬性)。
  • Pinia:輕量級、支持組合式 API(?setup??語法糖),替代 Vuex 的趨勢。
2、構建工具與工程化
  • Vue CLI:官方腳手架,一鍵搭建項目(配置 Webpack/Vite、Babel 等)。
  • Vite:基于 ES Module 的極速構建工具,適合 Vue 3.x 項目(開發環境無需打包)。
  • TypeScript 支持:Vue 3.x 內置 TypeScript 類型定義,?defineComponent??推斷組件類型。
3、常用組件庫
  • Element UI(Vue 2)/ Element Plus(Vue 3):PC 端組件庫。
  • Vuetify:Material 風格組件庫,支持響應式設計。
  • Naive UI:輕量、美觀的 Vue 3 組件庫。
4、常用工具庫
  • Axios:HTTP 請求庫(封裝 ?this.$axios??或 ?useAxios?)。
  • Lodash:常用函數庫(防抖 ?debounce?、節流 ?throttle??等)。
  • Dayjs:輕量級日期處理庫。
5、全棧與服務端渲染
  • Nuxt.js:Vue 生態 SSR 框架,支持靜態站點生成和服務器端渲染,簡化 SEO 和首屏加載。
  • Express/Koa + Vue:手動實現 SSR(需處理數據預取、狀態同步等)。

四、Vue3?新特性

1、Composition API

setup??函數:替代 Vue 2 的 ?options API?,邏輯復用更靈活(?ref?/?reactive??定義響應式數據)。
組合函數(Hook):自定義邏輯復用(如 ?useMousePosition?)。

?2、Teleport(傳送門)

將組件模板渲染到 DOM 任意位置(如模態窗掛載到 ?body??下)。

3、Suspense

處理異步依賴(如動態組件加載),支持 ?loading??和 ?fallback??狀態。

4、響應式系統升級

基于 ?Proxy??實現,支持原生數組和對象嵌套,性能更優。

五、學習路徑建議

  • 入門:掌握基礎語法(模板、指令、組件)、生命周期、Vue Router。
  • 進階:深入響應式原理、組合式 API、狀態管理(Pinia)、自定義指令。
  • 實戰:開發中小型項目(如博客、電商),結合組件庫和工程化工具。
  • 拓展:學習 SSR(Nuxt.js)、單元測試(Jest/Vitest)、性能優化(虛擬列表、懶加載)。

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

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

相關文章

Nginx靜態資源增加權限驗證

Nginx靜態資源增加權限驗證 一、前言二、解決思路2.1、方式一2.2、方式二三、代碼3.1、方式一3.1.1、前端代碼3.1.2、后端代碼3.1.3、Nginx調整3.1.4、注意事項3.2.方式二四、參考資料一、前言 在項目開發的過程中,項目初期,及大部分小型項目都是使用共享磁盤進行靜態文件的…

分析NVIDIA的股價和業績暴漲的原因

NVIDIA自2016年以來股價與業績的持續高增長&#xff0c;是多重因素共同作用的結果。作為芯片行業的領軍企業&#xff0c;NVIDIA抓住了技術、戰略、市場與行業趨勢的機遇。以下從技術創新、戰略布局、市場需求、財務表現及外部環境等維度&#xff0c;深入分析其成功原因&#xf…

更換芯片后因匝數比變化,在長距離傳輸時出現通訊問題。我將從匝數比對信號傳輸的影響、阻抗匹配等方面分析可能原因,并給出相應解決方案。

匝數比影響信號幅度與相位&#xff1a;原 HM1188 芯片匝數比 1:1&#xff0c;信號在變壓器原副邊傳輸時幅度基本不變&#xff1b;更換為 XT1188 芯片&#xff08;匝數比 1:2&#xff09;后&#xff0c;根據變壓器原理&#xff0c;副邊輸出信號幅度會變為原邊的 2 倍。短距離 10…

Python引領前后端創新變革,重塑數字世界架構

引言:Python 在前后端開發的嶄新時代 在當今數字化時代,軟件開發領域持續創新,而 Python 作為一門功能強大、應用廣泛的編程語言,正引領著前后端開發的變革浪潮。Python 以其簡潔易讀的語法、豐富的庫和框架生態系統,以及強大的跨領域適用性,在計算機領域占據了舉足輕重…

IP SSL證書常見問題助您快速實現HTTPS加密

一、什么是IP SSL證書&#xff1f; IP SSL證書是一種專門用于保護基于IP地址的網站或服務器的SSL證書。與傳統的域名SSL證書不同&#xff0c;它不需要綁定域名&#xff0c;而是直接與公網IP地址關聯。當用戶訪問該IP地址時&#xff0c;瀏覽器與服務器之間會建立加密連接&#…

「Mac暢玩AIGC與多模態27」開發篇23 - 多任務摘要合成與提醒工作流示例

一、概述 本篇基于興趣建議輸出的方式&#xff0c;擴展為支持多任務輸入場景&#xff0c;介紹如何使用 LLM 對用戶輸入的多項待辦事項進行摘要整合、生成重點提醒&#xff0c;并保持自然語言風格輸出&#xff0c;適用于任務總結、進度引導、日程提醒等輕量型任務生成場景。 二…

前端自學入門:HTML 基礎詳解與學習路線指引

在互聯網的浪潮中&#xff0c;前端開發如同構建數字世界的基石&#xff0c;而 HTML 則是前端開發的 “入場券”。對于許多渴望踏入前端領域的初學者而言&#xff0c;HTML 入門是首要挑戰。本指南將以清晰易懂的方式&#xff0c;帶大家深入了解 HTML 基礎&#xff0c;并梳理前端…

js 兩個數組中的指定參數(id)相同,為某個對象設置disabled屬性

在JavaScript中&#xff0c;如果想要比較兩個數組并根據它們的id屬性來設置某個對象的disabled屬性為true&#xff0c;你可以使用幾種不同的方法。這里我將介紹幾種常用的方法&#xff1a; 方法1&#xff1a;使用循環和條件判斷 const array1 [{ id: 1, name: Item 1 },{ id…

編寫大模型Prompt提示詞方法

明確目標和任務 // 調用LLM進行分析const prompt 你是一名嚴格而友好的英語口語評分官&#xff0c;專業背景包括語音學&#xff08;phonetics&#xff09;、二語習得&#xff08;SLA&#xff09;和自動語音識別&#xff08;ASR&#xff09;。你的任務是&#xff1a; ① 比對參…

MCP系列(一)什么是MCP?

MCP 是什么&#xff1a;從 USB-C 到 AI 的「萬能接口」哲學 MCP&#xff08;Model Context Protocol&#xff0c;模型上下文協議&#xff09; 是Anthropic于2024年11月推出的AI跨系統交互標準&#xff0c;專為解決LLM&#xff08;大語言模型&#xff09;的「數字失語癥」——讓…

NoMachine 將虛擬顯示器改為物理顯示器

一、前言 大多數服務器需求是設置為虛擬顯示器&#xff0c;因為服務器本身不接物理的顯示器。但我的需求不太一樣&#xff0c;服務器就在身邊&#xff0c;有時候關閉遠控也需要實時監測&#xff0c;所以接了物理的顯示器。 NoMachine 默認會為用戶創建一個新的桌面會話&#xf…

YOLOv8 優化:基于 Damo-YOLO 與 DyHead 檢測頭融合的創新研究

文章目錄 YOLOv8 的背景與發展Damo-YOLO 的優勢與特點DyHead 檢測頭的創新之處融合 Damo-YOLO 與 DyHead 檢測頭的思路融合后的模型架構融合模型的代碼實現導入必要的庫定義 Damo-YOLO 的主干網絡定義特征金字塔網絡&#xff08;FPN&#xff09;定義 DyHead 檢測頭定義融合后的…

關稅沖擊下,FBA國際物流企業如何靠智能拓客跑出增長“加速度”?

國際物流行業正迎來前所未有的增長機遇。據中研普華最新報告&#xff0c;2025年全球物流市場規模已突破6.27萬億美元&#xff0c;其中中國跨境物流市場預計達2.71萬億元。在全球化與數字化雙輪驅動下&#xff0c;國際物流從“規模擴張”邁向“價值重構”。可以說&#xff0c;國…

《內存單位:解鎖數字世界的“度量衡”》

&#x1f680;個人主頁&#xff1a;BabyZZの秘密日記 &#x1f4d6;收入專欄&#xff1a;C語言 &#x1f30d;文章目入 一、基礎單位&#xff1a;字節&#xff08;Byte&#xff09;二、進階單位&#xff1a;千字節&#xff08;KB&#xff09;、兆字節&#xff08;MB&#xff09…

PyQt 探索QMainWindow:打造專業的PyQt5主窗

在PyQt5的世界里&#xff0c;窗口的創建和管理是構建圖形用戶界面&#xff08;GUI&#xff09;的基礎。QMainWindow作為主窗口類&#xff0c;為開發者提供了強大而靈活的應用程序框架。今天&#xff0c;就讓我們一起深入了解QMainWindow的奧秘。 QMainWindow簡介 QMainWindow…

Missashe高數強化學習筆記(隨時更新)

Missashe高數強化學習筆記 說明&#xff1a;這篇筆記用于博主對高數強化課所學進行記錄和總結。由于部分內容寫在博主的日記博客里&#xff0c;所以博主會不定期將其重新copy到本篇筆記里。 第一章 函數極限連續 第二章 一元函數微分學 第三章 一元函數積分學 第一節 不定…

Ruby 字符串(String)

Ruby 字符串&#xff08;String&#xff09; 引言 在編程語言中&#xff0c;字符串是表示文本數據的一種基本數據類型。在Ruby中&#xff0c;字符串處理是日常編程中非常常見的一項任務。本文將詳細介紹Ruby中的字符串&#xff08;String&#xff09;類型&#xff0c;包括其創…

【wpf】12 在WPF中實現HTTP通信:封裝HttpClient的最佳實踐

一、背景介紹 在現代桌面應用開發中&#xff0c;網絡通信是不可或缺的能力。WPF作為.NET平臺下的桌面開發框架&#xff0c;可通過HttpClient輕松實現與后端API的交互。本文將以一個實際的HttpsMessages工具類為例&#xff0c;講解如何在WPF中安全高效地封裝HTTP通信模塊。 二、…

【2025最新】gitee+pycharm完成項目的上傳與管理

再見了誤刪、誤改以及不知道動了哪里突然就不能運行的整個項目&#xff01; 之前做過一次全流程&#xff01;結果沒有及時記錄文檔&#xff0c;很快就忘記了&#xff0c;每次從頭開始就覺得有很大的阻力&#xff0c;不想搞。導致每次誤刪和項目出bug都非常痛苦。 可見&#x…

ACTF2025 - Web writeup

ACTF2025 - Web writeup ACTF upload 進去后是一個登錄界面&#xff0c;輸入用戶名后登錄&#xff0c;然后到一個文件上傳的界面。 在 /upload?file_path 處&#xff0c;可以實現任意文件讀取&#xff0c;文件內容保存在 img 標簽中的 base64 值中。 示例請求&#xff1a;…