這篇文章為大家帶來了關於vue的相關知識,其中主要介紹了vue生命週期鉤子函數有哪些,分別什麼時候觸發,vue生命週期即為一個組件從出生到死亡的一個完整週期,下面一起來看看,希望對大家有幫助。
【相關推薦:javascript影片教學、vue.js教學】
vue生命週期鉤子函數
vue生命週期即為一個組件從出生到死亡的一個完整週期
#主要包括以下4個階段:創建,掛載,更新,銷毀
- 建立前:
beforeCreate
, 建立後:created
- 掛載前:
beforeMount
, 掛載後:mounted
- 更新前:
beforeUpdate
, 更新後:updated
- 銷毀前:
beforeDestroy
, 銷毀後:destroyed
我平時用的比較多的鉤了是created和mounted,created用於獲取後台數據,mounted用於dom掛載完後做一些dom操作,以及初始化插件等.beforeDestroy用戶清除定時器以及解綁事件等,
另外還新增了使用內置組件keep-alive 來緩存實例,而不是頻繁創建和銷毀(開銷大)
-
actived
實例啟動 -
deactived
實例失效
大家理解就ok:
生命週期鉤子函數(11個)Function(型別),標註藍色的那個是屬於型別的意思。beforeCreate
Function 在實例初始化之後,資料觀測 (data observer) 和 event/watcher 事件配置之前被呼叫。
created
Function 在實例建立完成後立即被呼叫。在這一步,實例已完成以下的配置:資料觀測 (data observer), 屬性和方法的運算,watch/event 事件回呼。然而,掛載階段還沒開始,$el 屬性目前不可見。
beforeMount
Function 在掛載開始之前被呼叫:相關的 render 函數會首次被呼叫。
mounted
Function el 被新建立的 vm.el 替換,並掛載到實例上去之後呼叫該鉤子。如果 root 實例掛載了一個文檔內元素,當 mounted 被呼叫時 vm.$el 也在文檔內。
beforeUpdate
Function 資料更新時調用,發生在虛擬 DOM 打補丁之前。這裡適合在更新之前存取現有的 DOM,例如手動移除已新增的事件監聽器。此鉤子在伺服器端渲染期間不會被調用,因為只有初次渲染會在服務端進行。
updated
Function 由於資料變更導致的虛擬 DOM 重新渲染和打補丁,在這之後會呼叫該鉤子。
activated
Function keep-alive 元件啟動時呼叫。該鉤子在伺服器端渲染期間不被調用。
deactivated
Function keep-alive 元件停用時呼叫。該鉤子在伺服器端渲染期間不被調用。
beforeDestroy
Function 實例銷毀之前呼叫。在這一步,實例仍然完全可用。該鉤子在伺服器端渲染期間不被調用。
destroyed
Function Vue 實例銷毀後呼叫。呼叫後,Vue 實例所指示的所有東西都會解綁定,所有的事件監聽器會被移除,所有的子實例也會被銷毀。該鉤子在伺服器端渲染期間不被調用。
- errorCaptured
(2.5.0 新增) (err: Error, vm: Component, info: string) => ?boolean 當擷取一個來自子孫元件的錯誤時被調用。此鉤子會收到三個參數:錯誤物件、發生錯誤的元件實例以及一個包含錯誤來源資訊的字串。此鉤子可以傳回 false 以防止該錯誤繼續向上傳播。
#activated
說到activated不得不提到keep-alive,你切換出去又切出來會調用它。 (你可以理解為生命週期鉤子函數,用法也一樣)mounted
指的是實例被掛載後調用,如果沒有keep-alive每次切回來該元件都會觸發一次,但是keep-alive會快取不活動的元件實例,那麼可以說他只會觸發一次。所以往往一些資料的請求要在這寫一次請求,在activated裡寫一次請求,保證你浪蕩回來還能請求到新的資料。 踩坑1.這裡有個關鍵字是實例,也就是說如果你用了$refs,你就得注意了。 2.mounted先執行,第一次進入時候兩個一起執行附註
keep-alive的運用非常非常非常多。
【相關推薦:javascript影片教學、vue.js教學】
以上是聊聊vue生命週期鉤子函數有哪些以及什麼時候觸發的詳細內容。更多資訊請關注PHP中文網其他相關文章!

Vue.js是由尤雨溪在2014年發布的漸進式JavaScript框架,用於構建用戶界面。它的核心優勢包括:1.響應式數據綁定,數據變化自動更新視圖;2.組件化開發,UI可拆分為獨立、可複用的組件。

Netflix使用React作為其前端框架。 1)React的組件化開發模式和強大生態系統是Netflix選擇它的主要原因。 2)通過組件化,Netflix將復雜界面拆分成可管理的小塊,如視頻播放器、推薦列表和用戶評論。 3)React的虛擬DOM和組件生命週期優化了渲染效率和用戶交互管理。

Netflix在前端技術上的選擇主要集中在性能優化、可擴展性和用戶體驗三個方面。 1.性能優化:Netflix選擇React作為主要框架,並開發了SpeedCurve和Boomerang等工具來監控和優化用戶體驗。 2.可擴展性:他們採用微前端架構,將應用拆分為獨立模塊,提高開發效率和系統擴展性。 3.用戶體驗:Netflix使用Material-UI組件庫,通過A/B測試和用戶反饋不斷優化界面,確保一致性和美觀性。

NetflixusesAcustomFrameworkcalled“ Gibbon” BuiltonReact,notReactorVuedIrectly.1)TeamSperience:selectBasedonFamiliarity.2)ProjectComplexity:vueforsimplerprojects:reactforforforproproject,reactforforforcompleplexones.3)cocatizationneedneeds:reactoffipicatizationneedneedneedneedneedneeds:reactoffersizationneedneedneedneedneeds:reactoffersizatization needefersmoreflexibleise.4)

Netflix在框架選擇上主要考慮性能、可擴展性、開發效率、生態系統、技術債務和維護成本。 1.性能與可擴展性:選擇Java和SpringBoot以高效處理海量數據和高並發請求。 2.開發效率與生態系統:使用React提升前端開發效率,利用其豐富的生態系統。 3.技術債務與維護成本:選擇Node.js構建微服務,降低維護成本和技術債務。

Netflix主要使用React作為前端框架,輔以Vue用於特定功能。 1)React的組件化和虛擬DOM提升了Netflix應用的性能和開發效率。 2)Vue在Netflix的內部工具和小型項目中應用,其靈活性和易用性是關鍵。

Vue.js是一種漸進式JavaScript框架,適用於構建複雜的用戶界面。 1)其核心概念包括響應式數據、組件化和虛擬DOM。 2)實際應用中,可以通過構建Todo應用和集成VueRouter來展示其功能。 3)調試時,建議使用VueDevtools和console.log。 4)性能優化可通過v-if/v-show、列表渲染優化和異步加載組件等實現。

Vue.js適合小型到中型項目,而React更適用於大型、複雜應用。 1.Vue.js的響應式系統通過依賴追踪自動更新DOM,易於管理數據變化。 2.React採用單向數據流,數據從父組件流向子組件,提供明確的數據流向和易於調試的結構。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

Safe Exam Browser
Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

Atom編輯器mac版下載
最受歡迎的的開源編輯器

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

Dreamweaver CS6
視覺化網頁開發工具