復習vue3,簡簡單單記錄

這里的知識是結合視頻以及其他文章一起學習,僅用于個人復習記錄

ref 和reactive

ref 用于基本類型
reactive 用于引用類型

如果使用ref 傳遞對象,修改值時候需要寫為obj.value.attr 方式修改屬性值
如果使用reactive 處理對象,直接obj.attr 即可 達到響應式效果

watch

watch 監聽多個基本值,返回的newValue 和 oldValue是一個數組
watch 監聽reactive 對象 無法正確獲取oldValue(如果不需要考慮oldValue,那么這個問題影響不大)

watch 第一個參數只能是ref reactive返回值,如果想監聽對象里邊某個屬性,則需要通過函數返回,如果該屬性指向的是一個引用類型,則需要開啟深度監聽才能監聽到變化

如果watch 監聽ref(對象),如果監聽對象 深層的變化,則需要傳遞deep(此時監聽的是ref 對象,對于value指向的對象的屬性變化變化需要開啟deep)
如果watch 監聽ref(對象),如果監聽對象.value 深層的變化,則不需要傳遞deep此時監聽的是.value 也就是 reactive 對象不需要開啟deep)

// 下面兩個都滿足第一個參數是ref 或者reactive對象,一個監聽的是ref對象一個是reactive對象
// 需要開啟deep 才能監聽到age變化 
watch(obj, (newValue, oldValue) => {console.log(newValue, oldValue);
}, { deep: true })
// 
watch(obj.value, (newValue, oldValue) => {console.log(newValue, oldValue);
})

watchEffect

watch 既要指明監聽的屬性也要指明監聽的回調,而watchEffect不用指明監聽哪個屬性,我感覺watchEffect更好用
回調里邊,用到哪個值就監聽哪個值,如果被監聽的值發生變化時候,回調就會觸發,比如監聽查詢關鍵字變化來決定觸發查詢操作

watchEffect(() => {if (keywords.value != '') {console.log('開始搜索', keywords.value);}
})

onActivated 和 onDeactivated(還沒使用過)

補充生命周期函數activated和deactivated
這兩個是路由組件所獨有的兩個鉤子,用于捕獲路由組件的激活狀態,因為跳進另一個路由組件的時候,前一個路由組件會被銷毀,但是加了緩存的路由,則不會被觸發銷毀流程;使用這兩個替代銷毀時的生命周期函數;

onActivated:表示路由組件被激活時觸發;

onDeactivated:表示路由組件失活時觸發;

這個在編寫uniapp 時候有個類似的東西,比如push 到其他頁面時候,前面一個頁面并不會被銷毀,而是只是觸發了隱藏,我覺得這兩個周期函數類似uniapp 當中的onShow 和 onHide 周期

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

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

相關文章

Lua學習記錄

Lua基礎了解 Lua的注釋通過 (-- 單行注釋,--[[ ]] 多行注釋)可以不加; 多個變量賦值,按順序賦值,沒有則為nil; function的簡單用法,多個返回值配合多重賦值,以end為結束標志 Lua下標從1開始&…

JSP-學習筆記

文章目錄 1.JSP介紹2 JSP快速入門3 JSP 腳本3.1 JSP腳本案例3.2 JSP缺點 4 EL表達式4.1 快速入門案例 5. JSTL標簽6. MVC模式和三層架構6.1 MVC6.2 三層架構 7. 案例-基于MVC和三層架構實現商品表的增刪改查 1.JSP介紹 概念 JSP(JavaServer Pages)是一種…

Azure存儲賬戶

存儲賬戶的概念 Azure存儲賬戶是Azure提供的一種云存儲解決方案,用于存儲和訪問各種類型的數據,包括文件、磁盤、隊列、表格和Blob(二進制大對象)數據。存儲賬戶可以基于訪問模式和冗余需求來選擇不同的類型,以滿足應…

【MySQL--->表的操作】

文章目錄 [TOC](文章目錄) 一、創建表二、查看表三、修改表四、刪除表drop table 表名; ![在這里插入圖片描述](https://img-blog.csdnimg.cn/15227b8335364d41bd01b4b4dd83ee55.png) 一、創建表 語句格式:create table 表名(列名 類型,…)字符集 校驗規則 存儲引擎;字符集和校…

我還不知道?Android組件化插件化模塊化

Android組件化、插件化和模塊化是針對Android應用程序開發的一種架構設計思想和開發方式。 組件化(Componentization): 組件化是將一個大型的Android應用程序拆分成多個獨立的組件(Module),每個組件可以獨…

python使用裝飾器記錄方法耗時

思路 python使用修飾器記錄方法耗時,目的是每當方法執行完后,可以記錄該方法耗時,而不需要在每個方法的執行前后,去創建一個臨時變量,來記錄耗時。 方式一(不推薦): 在每個方法的…

source insight 添加宏-文件頭加注釋

source insight 3.5 自帶的一些宏,在安裝目錄下的 utils.em 文件中,用戶也可以自己寫文件,命令為xxx.em ,然后把這個文件添加到項目中即可,添加后在菜單欄 Options -> Key Assignments 里輸入macro 就能顯示新添加的…

第一個ArkTS項目實踐-鴻蒙ArkTS

第一個ArkTS項目實踐-ArkTS 第一個ArkTS項目實踐-ArkTS自定義組件的組成配置屬性與布局配置屬性布局 改變組件狀態循環渲染列表數據代碼ToDoItem組件ToDoList頁面 效果參考資料 第一個ArkTS項目實踐-ArkTS 本篇文章是官網上視頻對ArkTS開發實踐的第一個視頻,主要是引…

Matplotlib數據可視化(三)

目錄 1.繪圖的填充 1.1 曲線下方區域的填充 1.2 填充部分區域 1.3 兩條曲線之間的區域填充 1.4 直接使用fill進行填充 1.繪圖的填充 繪圖的填充可以調用fill_between()或fill()進行填充。 1.1 曲線下方區域的填充 x np.linspace(0,1,500) y np.sin(3*np.pi*x)*np.exp…

【C語言】每日一題(找到所有數組中消失的數字)

找到所有數組中消失的數字,鏈接奉上。 這里簡單說一下,因為還沒有接觸到動態內存,數據結構,所以知識有限,也是盡力而為,結合題庫的評論區找到了適合我的解法,以后有機會,會補上各種…

如何在HTML中使用React

突發奇想 查了查真的可以,官方文檔: 在網站中添加 React – React 開始 引入js <!-- 開發環境使用 --><script src"https://unpkg.com/react18/umd/react.development.js"></script><script src"https://unpkg.com/react-dom18/umd/reac…

穿越數字奇境:探尋元宇宙中的科技奇跡

隨著科技的迅速發展&#xff0c;元宇宙正逐漸成為一個備受關注的話題&#xff0c;它不僅是虛擬現實的延伸&#xff0c;更是將現實世界與數字世界融合的未來典范。在這個神秘而充滿活力的數字奇境中&#xff0c;涉及了眾多領域和技術&#xff0c;為我們呈現出了一個無限的創新和…

創建Azure資源鎖

鎖的介紹 在Azure中&#xff0c;資源鎖是一種用于保護訂閱、資源組或者單個資源的機制。它可以防止對受鎖定的資源進行刪除或修改操作&#xff0c;幫助確保資源的連續可用性和安全性。 Azure中的資源鎖可以分為兩種類型&#xff1a; 刪除鎖&#xff08;CanNotDelete&#xf…

elementUI遇到的問題記錄

一、 組件&#xff1a;el-table 問題&#xff1a;使用動態數據創建多級表頭后&#xff0c;刷新頁面時&#xff0c;table行會串行&#xff0c;某些列丟失&#xff0c;圖片列未顯示圖片 解決方案&#xff1a;給el-table增加key <el-table :key"${Matn.random()}${ite…

javaScript:模板字符串讓你忘記字符串拼接

目錄 一.前言 二.模板字符串的使用 1.介紹 2.模板字符串 支持換行 模板字符串更適合元素寫入 innerHTML模板字符串寫法 3.模板字符串中&#xff0c;可以運行表達式 4.模板字符串中可以運行函數 三.總結 語法&#xff1a; 多行字符串&#xff1a; 變量插值&#xff1a; …

μCOS-Ⅲ_簡介

μCOS-Ⅲ簡介 文章目錄 μCOS-Ⅲ簡介前言一、什么是 C/OS-III&#xff1f;二、C/OS-III的特點三、C/OS-III的版本和參考資料1、C/OS-III版本2、C/OS-III源碼獲取3、C/OS-III參考資料 四、C/OS-III源碼簡介總結 前言 μcos-III是一個可以基于ROM運行的、可裁剪的、搶占式、實時…

uniapp Vue 使用 sip.js進行語音通話視頻通話

下載或者安裝 sip.js 到 uniapp 項目&#xff0c;APP 端在 menifest.json 中配置麥克風權限 menifest.json 中 app 權限配置選中&#xff1a; android.permission.RECORD_AUDIO android.permission.MODIFY_AUDIO_SETTINGS sip.js 低版本 如 V0.13.0 版本的寫法 <template&…

latex 筆記:cs論文需要的排版格式

主要針對英文文獻 1 基本環境 連字符 不同長度的"-"表示不同含義。 一個"-"長度的連字符用于詞中兩個"-"長度的連字符常用于制定范圍三個"-"長度的連字符是破折號數學中的負數要用數學環境下的-得到 強調 在正式文章中, 通常不…

神經網絡基礎-神經網絡補充概念-48-rmsprop

概念## 標題 RMSProp&#xff08;Root Mean Square Propagation&#xff09;是一種優化算法&#xff0c;用于在訓練神經網絡等機器學習模型時自適應地調整學習率&#xff0c;以加速收斂并提高性能。RMSProp可以有效地處理不同特征尺度和梯度變化&#xff0c;對于處理稀疏數據和…

Open3D點云數據處理(二十):最小二乘直線擬合(三維)

文章目錄 1 最小二乘三維直線擬合原理2 代碼實現3 直線擬合的評估指標4 計算擬合的評估指標5 np.linalg.lstsq() 函數詳解專欄目錄:Open3D點云數據處理(Python) 1 最小二乘三維直線擬合原理 最小二乘三維直線擬合的原理是通過最小化數據點到直線距離的平方和,找到最優的直…