中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Vue 2.0中生命周期與鉤子函數的示例分析

發布時間:2021-08-13 10:18:24 來源:億速云 閱讀:168 作者:小新 欄目:web開發

小編給大家分享一下Vue 2.0中生命周期與鉤子函數的示例分析,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

vue生命周期簡介

Vue 2.0中生命周期與鉤子函數的示例分析

Vue 2.0中生命周期與鉤子函數的示例分析

咱們從上圖可以很明顯的看出現在vue2.0都包括了哪些生命周期的函數了。

生命周期探究

對于執行順序和什么時候執行,看上面兩個圖基本有個了解了。下面我們將結合代碼去看看鉤子函數的執行。

ps:下面代碼可以直接復制出去執行

<!DOCTYPE html>
<html>
<head>
 <title></title>
 <script type="text/javascript" src="https://cdn.jsdelivr.net/vue/2.1.3/vue.js"></script>
</head>
<body>

<div id="app">
 <p>{{ message }}</p>
</div>

<script type="text/javascript">
 
 var app = new Vue({
 el: '#app',
 data: {
  message : "xuxiao is boy" 
 },
 beforeCreate: function () {
  console.group('beforeCreate 創建前狀態===============》');
  console.log("%c%s", "color:red" , "el : " + this.$el); //undefined
  console.log("%c%s", "color:red","data : " + this.$data); //undefined 
  console.log("%c%s", "color:red","message: " + this.message) 
 },
 created: function () {
  console.group('created 創建完畢狀態===============》');
  console.log("%c%s", "color:red","el : " + this.$el); //undefined
  console.log("%c%s", "color:red","data : " + this.$data); //已被初始化 
  console.log("%c%s", "color:red","message: " + this.message); //已被初始化
 },
 beforeMount: function () {
  console.group('beforeMount 掛載前狀態===============》');
  console.log("%c%s", "color:red","el : " + (this.$el)); //已被初始化
  console.log(this.$el);
  console.log("%c%s", "color:red","data : " + this.$data); //已被初始化 
  console.log("%c%s", "color:red","message: " + this.message); //已被初始化 
 },
 mounted: function () {
  console.group('mounted 掛載結束狀態===============》');
  console.log("%c%s", "color:red","el : " + this.$el); //已被初始化
  console.log(this.$el); 
  console.log("%c%s", "color:red","data : " + this.$data); //已被初始化
  console.log("%c%s", "color:red","message: " + this.message); //已被初始化 
 },
 beforeUpdate: function () {
  console.group('beforeUpdate 更新前狀態===============》');
  console.log("%c%s", "color:red","el : " + this.$el);
  console.log(this.$el); 
  console.log("%c%s", "color:red","data : " + this.$data); 
  console.log("%c%s", "color:red","message: " + this.message); 
 },
 updated: function () {
  console.group('updated 更新完成狀態===============》');
  console.log("%c%s", "color:red","el : " + this.$el);
  console.log(this.$el); 
  console.log("%c%s", "color:red","data : " + this.$data); 
  console.log("%c%s", "color:red","message: " + this.message); 
 },
 beforeDestroy: function () {
  console.group('beforeDestroy 銷毀前狀態===============》');
  console.log("%c%s", "color:red","el : " + this.$el);
  console.log(this.$el); 
  console.log("%c%s", "color:red","data : " + this.$data); 
  console.log("%c%s", "color:red","message: " + this.message); 
 },
 destroyed: function () {
  console.group('destroyed 銷毀完成狀態===============》');
  console.log("%c%s", "color:red","el : " + this.$el);
  console.log(this.$el); 
  console.log("%c%s", "color:red","data : " + this.$data); 
  console.log("%c%s", "color:red","message: " + this.message)
 }
 })
</script>
</body>
</html>

create 和 mounted 相關

咱們在chrome瀏覽器里打開,F12看console就能發現

  • beforecreated:el 和 data 并未初始化

  • created:完成了 data 數據的初始化,el沒有

  • beforeMount:完成了 el 和 data 初始化

  • mounted :完成掛載

另外在標紅處,我們能發現el還是 {{message}} ,這里就是應用的 Virtual DOM(虛擬Dom)技術,先把坑占住了。到后面mounted掛載的時候再把值渲染進去。

Vue 2.0中生命周期與鉤子函數的示例分析

update 相關

這里我們在 chrome console里執行以下命令

app.message= 'yes !! I do';

下面就能看到data里的值被修改后,將會觸發update的操作。

Vue 2.0中生命周期與鉤子函數的示例分析

destroy 相關

有關于銷毀,暫時還不是很清楚。我們在console里執行下命令對 vue實例進行銷毀。銷毀完成后,我們再重新改變message的值,vue不再對此動作進行響應了。但是原先生成的dom元素還存在,可以這么理解,執行了destroy操作,后續就不再受vue控制了。

app.$destroy();

Vue 2.0中生命周期與鉤子函數的示例分析

以上是“Vue 2.0中生命周期與鉤子函數的示例分析”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

凤翔县| 延庆县| 威宁| 肇庆市| 宣武区| 万安县| 淳安县| 长沙县| 阜阳市| 馆陶县| 景泰县| 长泰县| 通海县| 阜南县| 从江县| 深泽县| 行唐县| 牡丹江市| 沅陵县| 旬邑县| 九台市| 永顺县| 陆河县| 隆德县| 遵义县| 隆回县| 乌审旗| 疏勒县| 丰都县| 兴和县| 林口县| 尚义县| 武清区| 石首市| 鸡东县| 西宁市| 华安县| 洛扎县| 清苑县| 卢氏县| 小金县|