vue3官方文檔學習心得

這幾天抽空把vue3的文檔整個看了一遍。簡介 | Vue.js

23年寫過一個vue2的項目,24年寫了一個vue3的項目,頁面功能比較簡單,用幾個簡單的API,watch、watchEffect、ref、reactive就能實現的業務功能。

寫了幾年的react的,初上手vue時對比著用再翻翻別人的代碼,點對點的翻閱一下官方文檔,能解決大多數的問題。當時忙也就沒能夠系統進行學習。

這次整體看了一遍,也就能發現其中的精妙,以及解決之前困惑但是沒能細究的一些問題,比如

1、nextTick是干什么的

全局 API:常規 | Vue.js

等待下一次 DOM 更新刷新的工具方法。

確保回調函數在 DOM 更新完成后執行,解決因異步更新導致的數據與 DOM 狀態不一致問題。

2、nutui組件庫沒看見注冊怎么就能使用了

app.component()注冊全局組件

3、h()這個函數是干什么的

h()?函數用于創建 vnodes

對比react作者似乎封裝了很多常用功能,一些細節的處理更節省用戶的心智,比如

1、雙向數據綁定 v-model,還有一些其他指令 v-show、v-if、v-for、v-html、v-bind(:)、v-on(@)

2、事件處理后綴

  • .stop

  • .prevent

  • .self

  • .capture

  • .once

  • .passive

3、watchEffect自動追蹤依賴 ,react里useeffect需要顯示指定;computed和useMemo差不多;

4、使用keepAlive組件多了兩個生命周期

5、組合式函數和react的自定義hook很像,作者的靈感來源也是這里

6、插槽的話,vue一個組件可以有多個插槽,name區分;react只有一個children;

7、依賴注入provide inject 的思想則和react的usecontext 可以類比一下

8、teleport組件和react的??API一樣的效果

9、suspense則解決了異步依賴的加載結果顯示的問題

10、vue同樣支持jsx

對比vue2則是

1、在響應式原理上做了提升,proxy替代了object.definedProperty,文檔里作者沒提解決了什么問題;其實是解決 添加或刪除屬性時不能追蹤到的問題

2、最大的一個亮點是組合式API的使用,能更好的復用代碼邏輯;選項式API同時保留,作者建議小型項目可以使用,大型復雜的則使用組合式API;選項式API也是基于組合式API封裝而來的,vue3暴露了更多底層的方法;

3、typescript開發的,支持typescript那是必須的,多了類型校驗

4、性能優化方面:tree-shaking減小包體積,異步組件 代碼分割

5、文檔中作者多次提及,vue3自動對代碼進行優化,無需用戶在做多余的優化處理

6、diff方法優化,在節點上標記是哪種類型的更新,緩存靜態節點

再一點就是代碼組織方式上定義屬性、方法、事件的一些區別

1、選項式API。this指向當前組件實例

import { defineComponent } from 'vue'export default defineComponent({// 啟用了類型推導props: {name: String,id: [Number, String],msg: { type: String, required: true },metadata: null},mounted() {this.name // 類型:string | undefinedthis.id // 類型:number | string | undefinedthis.msg // 類型:stringthis.metadata // 類型:any}
})

2、組合式API。沒有this

<script setup>
import { ref, onMounted } from 'vue'onMounted(() => {console.log(`the component is now mounted.`)
})const count = ref(0)function increment() {count.value++
}
</script><template><button @click="increment">{{ count }}</button>
</template>
<script>
import { ref } from 'vue'export default {setup(props, { attrs, slots, emit, expose }) {...}
}export default {setup() {const count = ref(0)// 返回值會暴露給模板和其他的選項式 API 鉤子return {count}},mounted() {console.log(this.count) // 0}
}
</script><template><button @click="count++">{{ count }}</button>
</template>

組合式API離不開setup這個函數,這個函數是在beforeCreate之前就調用了;setup()?鉤子是在組件中使用組合式 API 的入口。

我的學習習慣更喜歡看完全局了解大概,再逐一進行深究。

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

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

相關文章

Pycharm恢復默認設置,配置導致復制粘貼等不能使用

在file 種找到manage IDE settings在manage IDE settings中找到restore default settings

【王樹森推薦系統】召回12:曝光過濾 Bloom Filter

概述 曝光過濾通常是在召回階段做&#xff0c;具體的方法就是用 Bloom Filter 曝光過濾問題 如果用戶看過某個物品&#xff0c;則不再把該物品曝光給用戶。原因是同一個物品重復曝光給用戶會損害用戶體驗&#xff0c;但也不是所有推薦系統都有曝光過濾&#xff0c;像 youtube 這…

基于STM32單片機的心率血氧監測系統設計(STM32代碼編寫+手機APP設計+PCB設計+Proteus仿真)

系列文章目錄 文章目錄 系列文章目錄前言1 資料獲取與演示視頻1.1 資料介紹1.2 資料獲取1.3 演示視頻 2 系統框架3 硬件3.1 主控制器3.2 顯示屏3.3 WIFI模塊3.4心率血氧傳感器 4 設計PCB4.1 安裝下載立創EDA專業版4.2 畫原理圖4.4 使用嘉立創下單助手進行下單&#xff0c;打板。…

main(int argc,char **agrv)的含義

今天和大家討論一個常見的但是不容易深入了解的知識點。那就是 main 函數聲明中使用到的 argc 和 argv 的含義。通常我們寫主函數的時候一般都是直接使用int main() 或者 void main() 來聲明 main 函數。但是你知道嗎&#xff1f;在c89/c99的語言標準中&#xff0c;main函數的聲…

如何簡單實現發版不影響客戶使用?nginx負載

nginx負載發版不影響客戶使用 1.需要二臺服務器 2.二臺服務器均是正式環境配置 3.服務器Nginx配置修改 發版順序&#xff1a;先在服務器2發版&#xff0c;發布成功后&#xff0c;再改服務器Nginx配置&#xff0c;重新加載nginx&#xff1b;然后在服務器再發版&#xff0c;發布成…

qt筆記(1)——Qtablewidget使用

1.基礎使用方法 &#xff08;略&#xff09; 2.坑和注意點 2.1 設置一個單元格的編輯屬性 在代碼中&#xff0c;想要修改一個單元格的編輯屬性&#xff0c;需要對這個item的flags進行設置&#xff1b;注意對一個tablewidget的一個item成員進行設置后&#xff0c;進行一次編…

字符串的模糊匹配方法介紹

字符串的模糊匹配方法介紹 目錄字符串的模糊匹配方法介紹一、編輯距離&#xff08;Levenshtein Distance&#xff09;復雜度分析二、Jaro-Winkler 距離復雜度分析三、最長公共子序列&#xff08;LCS&#xff09;復雜度分析四、模糊搜索&#xff08;Fuzzy Search&#xff09;復雜…

ActiveMQ在Spring Boot中的詳細使用指南

?? 目錄 ?? ActiveMQ簡介 什么是ActiveMQ? 核心概念 ??? 基礎架構組件 ?? 重要概念解釋 ActiveMQ vs 其他消息中間件 ?? 環境搭建 1. ActiveMQ服務端安裝 Docker方式(推薦初學者) 手動安裝方式 2. 驗證安裝 訪問Web管理界面 連接參數 測試連接 ?…

二元一次方程

前言 最近剛學二元一次方程&#xff0c;想寫一篇專欄熟悉一下本文寫給初一的同學看&#xff0c;學過的就劃了吧二元一次方程 兩個未知數最高項次數為 111 次為整式方程二元一次方程的解不唯一&#xff0c;但是二元一次方程可以用一個未知數來表達另一個未知數eg:eg:eg: xy1x y…

AI編程的未來是智能體原生開發?

目錄 前言 一、從“串行”到“并行”&#xff1a;什么是智能體原生開發&#xff1f; 1.1 傳統模式&#xff08;串行思維&#xff09; 1.2 智能體原生模式&#xff08;并行思維&#xff09; 二、程序員的新角色&#xff1a;從代碼手藝人到系統思想家 三、軟件開發的終局&a…

【牛客刷題】小紅的與運算

文章目錄 一、題目介紹1.1 題目描述1.2 輸入描述1.3 輸出描述1.4 示例二、 解題思路2.1 核心算法設計2.2 性能優化關鍵2.3 算法流程圖三、解法實現3.1 解法一:基礎實現3.1.1 初級版本分析3.2 解法二:優化版本(推薦)3.2.1 優化版本分析四、總結與拓展4.1 關鍵優化技術4.2 算…

spring中 方法上@Transation實現原理

Spring中Transactional注解方法實現原理Spring的Transactional注解在方法級別實現事務管理的原理主要基于動態代理和攔截器機制&#xff0c;以下是其核心實現流程&#xff1a;1. 代理創建階段當Spring容器啟動時&#xff0c;會為帶有Transactional注解的類創建代理對象&#xf…

qt-C++語法筆記之Stretch與Spacer的關系分析

qt-C語法筆記之Stretch與Spacer的關系分析 code review! 文章目錄qt-C語法筆記之Stretch與Spacer的關系分析1. Stretch&#xff08;拉伸因子&#xff09;2. Horizontal Spacer 和 Vertical Spacer3. Stretch 和 Spacer 的關系4. 實際應用中的選擇5. 注意事項6. 代碼與 Qt Desig…

Qwen3技術綜述

1. 引入 2025年5月&#xff0c;qwen推出了旗艦模型&#xff08;flagship model&#xff09;Qwen3-235B-A22B。并以Apache 2.0版權發布&#xff08;可自由商業使用&#xff0c;修改代碼和商用要包含原始版權&#xff09;。本文對其技術報告中提到的數據處理技術與模型結構進行綜…

[特殊字符] Excel 讀取收件人 + Outlook 批量發送帶附件郵件 —— Python 自動化實戰

許多公司定期需要將不同部門或客戶的報告發送給指定人員。手動操作容易出錯、耗時且繁瑣。今天這篇文章教你如何利用 Python 實現&#xff1a; &#x1f9e9; 從 Excel 中讀取“收件人 抄送人 附件文件路徑”&#xff1b; &#x1f4e4; 使用 win32com.client 調用 Outlook …

多模態大語言模型arxiv論文略讀(152)

VidComposition: Can MLLMs Analyze Compositions in Compiled Videos? ?? 論文標題&#xff1a;VidComposition: Can MLLMs Analyze Compositions in Compiled Videos? ?? 論文作者&#xff1a;Yunlong Tang, Junjia Guo, Hang Hua, Susan Liang, Mingqian Feng, Xinya…

基于AR和SLAM技術的商場智能導視系統技術原理詳解

本文面對室內定位算法工程師、智慧商場系統開發者、對VR/AR應用開發感興趣的技術人員&#xff0c;解決如何通過SLAMAR技術破解大型商場室內導航的空間認知壁壘&#xff0c;實現沉浸式導覽&#xff0c;本文提供完整技術方案與代碼實現。 如需獲取商場智能導視系統解決方案請前往…

Debezium日常分享系列之:認識Debezium Operator

Debezium日常分享系列之&#xff1a;認識Debezium Operator什么是Debezium OperatorDebezium Operator 的工作原理Debezium Operator 的優點Debezium Operator 使用場景Debezium Operator 的關鍵組件部署Debezium OperatorDebezium Operator 的使用什么是Debezium Operator De…

POSIX信號量,環形隊列

是一種進程間或線程間同步機制&#xff0c;用于控制多個線程/進程對共享資源的訪問&#xff0c;避免并發沖突。可以看作是一個計數器&#xff0c;通過對計數器的操作&#xff08;PV操作&#xff09;實現同步P操作(原子性)&#xff1a;&#xff0d;&#xff0d;&#xff0c;將信…

Python Day6

浙大疏錦行 Python Day6 內容&#xff1a; 描述性統計&#xff08;可視化分析&#xff09;單特征可視化&#xff08;連續、離散&#xff09;特征與標簽可視化特征與特征可視化 代碼&#xff1a; # TODO: 描述性統計 import pandas as pd import numpy as np import seaborn…