網站首頁 Vue 正文
本文實例為大家分享了Vue3生命周期鉤子函數的具體代碼,供大家參考,具體內容如下
一、Vue3生命周期鉤子
setup() : 開始創建組件之前,在 beforeCreate 和 created 之前執行,創建的是 data 和 method
onBeforeMount() : 組件掛載到節點上之前執行的函數;
onMounted() : 組件掛載完成后執行的函數;
onBeforeUpdate(): 組件更新之前執行的函數;
onUpdated(): 組件更新完成之后執行的函數;
onBeforeUnmount(): 組件卸載之前執行的函數;
onUnmounted(): 組件卸載完成后執行的函數;
onActivated(): 被包含在 <keep-alive> 中的組件,會多出兩個生命周期鉤子函數,被激活時執行;
onDeactivated(): 比如從 A 組件,切換到 B 組件,A 組件消失時執行;
onErrorCaptured(): 當捕獲一個來自子孫組件的異常時激活鉤子函數。
PS: 使用<keep-alive> 組件會將數據保留在內存中,比如我們不想每次看到一個頁面都重新加載數據,就可以使用<keep-alive> 組件解決。
二、Vue2.x 和 Vue3.x 生命周期對比
三、Vue3生命周期鉤子函數的簡單使用
<template> ? <div> ? ? <h1>Vue3生命周期鉤子函數</h1> ? ? <h2>響應式攔截數據data的值是:{{msg}}</h2> ? ? <p><button @click="changeMsg">點擊改變msg</button></p> ? </div> </template> <script> import { reactive, onUnmounted, onUpdated, onMounted, toRefs } from 'vue'; // 引入需要的 export default { ? setup () { ? ? // 初始化項目工作都放在setup中 ? ? console.log("當前應用程序被安裝了"); ? ? const state = reactive({ // 定義狀態 ? ? ? msg: '學而時習之', // 定義變量 ? ? ? changeMsg: () => { // 定義方法 ? ? ? ? state.msg = '不亦說乎' ? ? ? } ? ? }) ? ? let timer = 0; ? ? let count = 0; ? ? onMounted(() => { ? ? ? console.log('頁面掛載完成,觸發了onMounted鉤子函數'); ? ? ? timer = setInterval(() => { ? ? ? ? console.log('定時器正在運行中', count++) ? ? ? }, 1000) ? ? }) ? ? onUpdated(() => { ? ? ? console.log('數據發生了更新,觸發了onUpdated鉤子函數') ? ? }) ? ? onUnmounted(() => { ? ? ? console.log('頁面/組件退出,觸發了onUnmounted鉤子函數') ? ? ? // 如果不清楚,這些異步的行為就會常駐在內存中,一定程度上會造成常駐內存的不必要消耗,造成內存泄露 ? ? ? clearInterval(timer); ? ? }) ? ? return { ? ? ? ...toRefs(state) ? ? } ? } } </script>
原文鏈接:https://blog.csdn.net/xiamoziqian/article/details/111157438
相關推薦
- 2021-10-09 OpenCV提取圖像中圓線上的數據具體流程_C 語言
- 2022-09-20 C#?Winform實現復制文件顯示進度_C#教程
- 2022-08-05 Redis實現短信驗證碼登錄的示例代碼_Redis
- 2022-10-08 Python中集合創建與使用詳解_python
- 2022-05-13 ERROR org.apache.hadoop.hdfs.server.datanode.DataN
- 2022-05-10 bean屬性xml方式的自動裝配
- 2022-06-29 python人工智能tensorflow函數tf.assign使用方法_python
- 2023-05-05 Linux中grep命令詳解_linux shell
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支