GuLi商城-前端基礎Vue-生命周期和鉤子函數

下圖展示了實例的生命周期。你不需要立馬弄明白所有的東西,不過隨著你的不斷學習和使用,它

的參考價值會越來越高。?

VUE 的生命周期指的是組件在創建、運行和銷毀過程中所經歷的一系列事件,通過這些事件可以

讓開發者在不同階段進行相應的邏輯處理。VUE 組件的生命周期分為 8 個階段:

  • beforeCreate:組件實例剛被創建,但是數據還未初始化。在這個階段,無法訪問到 data 和 methods 等組件屬性。
  • created:組件的數據已經初始化完成,但是 DOM 元素還未生成。可以進行一些異步操作,如發送 AJAX 請求獲取數據等。
  • beforeMount:組件即將被掛載到頁面上。在這個階段,所有的模板和組件都已經編譯成 render 函數,并準備好渲染。
  • mounted:組件已經掛載到頁面上,此時可以訪問到組件的 DOM 元素。可以進行一些需要訪問 DOM 元素的操作,如使用第三方插件等。
  • beforeUpdate:組件更新之前被調用,在此時可以對組件進行更新前的狀態和數據進行處理。
  • updated:組件更新完畢后被調用。在此階段中不能再更新組件的數據,否則會導致死循環。
  • beforeDestroy:組件即將被銷毀,在此時可以進行一些清理工作,如清除定時器、解綁事件等。
  • destroyed:組件已經被銷毀,此時所有的事件監聽和子組件都已經被移除。

掌握 VUE 組件的生命周期可以幫助開發者更好地理解組件的運行機制,在不同階段進行相應的邏

輯處理,從而實現更加靈活、高效的組件開發。

Vue到底是什么?優缺點是什么? - 知乎


<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>Document</title>
</head><body><div id="app"><span id="num">{{num}}</span><button @click="num++">贊!</button><h2>{{name}},有{{num}}個人點贊</h2></div><script src="../node_modules/vue/dist/vue.js"></script><script>let app = new Vue({el: "#app",data: {name: "張三",num: 100},methods: {show() {return this.name;},add() {this.num++;}},beforeCreate() {console.log("=========beforeCreate=============");console.log("數據模型未加載:" + this.name, this.num);console.log("方法未加載:" + this.show());console.log("html模板未加載:" + document.getElementById("num"));},created: function () {console.log("=========created=============");console.log("數據模型已加載:" + this.name, this.num);console.log("方法已加載:" + this.show());console.log("html模板已加載:" + document.getElementById("num"));console.log("html模板未渲染:" + document.getElementById("num").innerText);},beforeMount() {console.log("=========beforeMount=============");console.log("html模板未渲染:" + document.getElementById("num").innerText);},mounted() {console.log("=========mounted=============");console.log("html模板已渲染:" + document.getElementById("num").innerText);},beforeUpdate() {console.log("=========beforeUpdate=============");console.log("數據模型已更新:" + this.num);console.log("html模板未更新:" + document.getElementById("num").innerText);},updated() {console.log("=========updated=============");console.log("數據模型已更新:" + this.num);console.log("html模板已更新:" + document.getElementById("num").innerText);}});</script>
</body></html>

?

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

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

相關文章

vue3 + antv/x6 實現拖拽側邊欄節點到畫布

前篇&#xff1a;vue3ts使用antv/x6 自定義節點 前篇&#xff1a;vue3antv x6自定義節點樣式 1、創建側邊欄 用antd的menu來做側邊欄 npm i --save ant-design-vue4.x//入口文件main.js內 import Antd from ant-design-vue; import App from ./App; import ant-design-vue/…

安卓的代碼加固和其他安全問題

文章目錄 安卓加固apk文件結構dex加固過程 其它安全問題 安卓加固 從App的加固技術來看:主流分為dex加密和so加密,目前來看保護dex文件更為重要,因為dex反編譯后的java代碼可讀性更強。 android-ndk: Native Development Kit 官網解釋&#xff1a;這套工具使您能在 Android 應…

Kvm配置ovs網橋

環境&#xff1a;部署在kvm虛擬環境上&#xff08;讓虛擬機和宿主機都可以直接從路由器獲取到獨立ip&#xff09; 1、安裝ovs軟件安裝包并啟動服務&#xff08;一般采用源碼安裝&#xff0c;此處用yum安裝&#xff09; yum install openvswitch-2.9.0-3.el7.x86_64.rpm syste…

Git常見操作

一、全局配置命令 配置級別&#xff1a; –local&#xff08;默認&#xff0c;高級優先&#xff09;&#xff1a;只影響本地倉庫 –global(中優先級)&#xff1a;只影響所有當前用戶的git倉庫 –system&#xff08;低優先級&#xff09;&#xff1a;影響到全系統的git倉庫 1…

【力扣】739. 每日溫度 <單調棧>

【力扣】739. 每日溫度 給定一個整數數組 temperatures &#xff0c;表示每天的溫度&#xff0c;返回一個數組 answer &#xff0c;其中 answer[i] 是指對于第 i 天&#xff0c;下一個更高溫度出現在幾天后。如果氣溫在這之后都不會升高&#xff0c;請在該位置用 0 來代替。 …

劍指 Offer 40. 最小的k個數(C+實現)

劍指 Offer 40. 最小的k個數https://leetcode.cn/problems/zui-xiao-de-kge-shu-lcof/ 法1&#xff1a;二叉堆 通過最小堆&#xff0c;直接篩選出最小的k個數 vector<int> getLeastNumbers(vector<int>& arr, int k) {priority_queue<int, vector<int>…

YOLOv8改進后效果

數據集 自建鐵路障礙數據集-包含路障&#xff0c;人等少數標簽。其中百分之八十作為訓練集&#xff0c;百分之二十作為測試集 第一次部署 版本&#xff1a;YOLOv5 訓練50epoch后精度可達0.94 mAP可達0.95.此時未包含任何改進操作 第二次部署 版本&#xff1a;YOLOv8改進版本 首…

WebRTC | ICE詳解

目錄 一、Candidate種類與優先級 二、ICE策略 1. iceServers 2. iceTransportPolicy 三、P2P連接 1.Nat類型 &#xff08;1&#xff09;完全錐型NAT &#xff08;2&#xff09;IP限制錐型NAT &#xff08;3&#xff09;端口限制錐型NAT &#xff08;4&#xff09;對稱…

iPhone 15受益:驍龍8 Gen 3可能缺席部分安卓旗艦機

明年一批領先的安卓手機的性能可能與今年的機型非常相似。硅成本的上漲可能是原因。 你可以想象&#xff0c;2024年許多最好的手機都會在Snapdragon 8 Gen 3上運行&#xff0c;這是高通公司針對移動設備的頂級芯片系統的更新&#xff0c;尚未宣布。然而&#xff0c;來自中國的…

centos上下載redis

1.redis 特點 Redis特性&#xff08;8個&#xff09; 1 速度快&#xff1a;10w ops&#xff08;每秒10w讀寫&#xff09;&#xff0c;數據存在內存中&#xff0c;c語言實現&#xff0c;單線程模型 2 持久化&#xff1a;rdb和aof 3 多種數據結構&#xff1a; 5大數據結構 …

Vue中實現分頁

1.構造分頁組件&#xff0c;并注冊為全局組件 <template><div class"pagination"><button v-if"startNumAndEndNum.start>1" click"$emit(getPageNo,pageNo-1)">上一頁</button><button v-if"startNumAndEn…

C#生產流程控制(串行,并行混合執行)

開源框架CsGo https://gitee.com/hamasm/CsGo?_fromgitee_search 文檔資料&#xff1a; https://blog.csdn.net/aa2528877987/article/details/132139337 實現效果 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37…

Windows11 Docker Desktop 啟動 -wsl kernel version too low

系統環境&#xff1a;windows11 1&#xff1a;docker下載 Docker: Accelerated Container Application Development 下載后雙擊安裝即可 安裝后啟動Docker提示&#xff1a;Docker Desktop -wsl kernel version too low 處理起來也是非常方便 1:管理員身份啟動&#xff1a;…

C#程序隨系統啟動例子 - 開源研究系列文章

今天講講C#中應用程序隨系統啟動的例子。 我們知道&#xff0c;應用程序隨系統啟動&#xff0c;都是直接在操作系統注冊表中寫入程序的啟動參數&#xff0c;這樣操作系統在啟動的時候就根據啟動參數來啟動應用程序&#xff0c;而我們要做的就是將程序啟動參數寫入注冊表即可。此…

C語言慣用法之typedef結構體類型

以前曾問C語言熟手&#xff0c;為什么C語言里面充滿了typedef struct someType TSomeType&#xff1f; 當時&#xff0c;可能他以為我的問題太簡單了&#xff0c;也沒所有說出關鍵出來。 對于現在我的認識而言&#xff0c;這種聲明方式&#xff0c;更多的是為了簡寫&#xff0…

數據結構與算法基礎

一、基本概念和術語 &#xff08;一&#xff09;數據元素、數據結構、抽象數據類型等概念 &#xff08;二&#xff09;算法設計的基本要求 &#xff08;三&#xff09;語句的頻度和估算時間復雜度 二、線性表 &#xff08;一&#xff09;線性表的定義和基本操作 &#xff08…

【3Ds Max】車削命令的簡單使用(以制作花瓶為例)

簡介 在3ds Max中&#xff0c;"車削"&#xff08;Lathe&#xff09;是一種建模命令&#xff0c;用于創建圍繞軸線旋轉的幾何形狀。通過車削命令&#xff0c;您可以將一個閉合的平面或曲線幾何形狀旋轉&#xff0c;從而生成一個立體對象。這種方法常用于創建圓柱體、…

大數據Flink學習圣經:一本書實現大數據Flink自由

學習目標&#xff1a;三棲合一架構師 本文是《大數據Flink學習圣經》 V1版本&#xff0c;是 《尼恩 大數據 面試寶典》姊妹篇。 這里特別說明一下&#xff1a;《尼恩 大數據 面試寶典》5個專題 PDF 自首次發布以來&#xff0c; 已經匯集了 好幾百題&#xff0c;大量的大廠面試…

深入淺出Pytorch函數——torch.nn.init.xavier_uniform_

分類目錄&#xff1a;《深入淺出Pytorch函數》總目錄 torch.nn.init模塊中的所有函數都用于初始化神經網絡參數&#xff0c;因此它們都在torc.no_grad()模式下運行&#xff0c;autograd不會將其考慮在內。 根據Glorot, X.和Bengio, Y.在《Understanding the difficulty of tra…

【制作npm包4】api-extractor 學習

制作npm包目錄 本文是系列文章&#xff0c; 作者一個橙子pro&#xff0c;本系列文章大綱如下。轉載或者商業修改必須注明文章出處 一、申請npm賬號、個人包和組織包區別 二、了解 package.json 相關配置 三、 了解 tsconfig.json 相關配置 四、 api-extractor 學習 五、npm包…