最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Vue 2.0中生命周期與鉤子函數(shù)的一些理解

 更新時間:2017年05月09日 08:45:20   作者:夏日蟬鳴  
這篇文章主要給大家介紹了關于Vue 2.0中生命周期與鉤子函數(shù)的相關資料,對大家學習或者使用vue2.0具有一定的參考學習價值,需要的朋友們下面隨小編一起來看看吧。

前言

在使用vue一個多禮拜后,感覺現(xiàn)在還停留在初級階段,雖然知道怎么和后端做數(shù)據(jù)交互,但是對于mounted這個掛載還不是很清楚的。放大之,對vue的生命周期不甚了解。只知道簡單的使用,而不知道為什么,這對后面的踩坑是相當不利的。

因為我們有時候會在幾個鉤子函數(shù)里做一些事情,什么時候做,在哪個函數(shù)里做,我們不清楚。

于是我開始先去搜索,發(fā)現(xiàn)vue2.0的生命周期沒啥文章。大多是1.0的版本介紹。最后還是找到一篇不錯的(會放在最后)

vue生命周期簡介


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

生命周期探究

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

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

<!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 創(chuàng)建前狀態(tài)===============》');
  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 創(chuàng)建完畢狀態(tài)===============》');
  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 掛載前狀態(tài)===============》');
  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 掛載結束狀態(tài)===============》');
  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 更新前狀態(tài)===============》');
  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 更新完成狀態(tài)===============》');
  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 銷毀前狀態(tài)===============》');
  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 銷毀完成狀態(tài)===============》');
  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瀏覽器里打開,F(xiàn)12看console就能發(fā)現(xiàn)

  • beforecreated:el 和 data 并未初始化
  • created:完成了 data 數(shù)據(jù)的初始化,el沒有
  • beforeMount:完成了 el 和 data 初始化
  • mounted :完成掛載

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

update 相關

這里我們在 chrome console里執(zhí)行以下命令

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

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

destroy 相關

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

app.$destroy();


生命周期總結

這么多鉤子函數(shù),我們怎么用呢,我想大家可能有這樣的疑問吧,我也有,哈哈哈。

  • beforecreate : 舉個栗子:可以在這加個loading事件
  • created :在這結束loading,還做一些初始化,實現(xiàn)函數(shù)自執(zhí)行
  • mounted : 在這發(fā)起后端請求,拿回數(shù)據(jù),配合路由鉤子做一些事情
  • beforeDestory: 你確認刪除XX嗎? destoryed :當前組件已被刪除,清空相關內容

當然,還有更多,繼續(xù)探索中......

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

相關文章

  • 如何通過Vue自帶服務器實現(xiàn)Ajax請求跨域(vue-cli)

    如何通過Vue自帶服務器實現(xiàn)Ajax請求跨域(vue-cli)

    從A頁面訪問到B頁面,并且要獲取到B頁面上的數(shù)據(jù),而兩個頁面所在的端口、協(xié)議和域名中哪怕有一個不對等,那么這種行為就叫跨域,這篇文章給大家介紹如何通過Vue自帶服務器實現(xiàn)Ajax請求跨域(vue-cli),感興趣的朋友一起看看吧
    2023-10-10
  • Vue2?中自定義圖片懶加載指令?v-lazy實例詳解

    Vue2?中自定義圖片懶加載指令?v-lazy實例詳解

    這篇文章主要為大家介紹了Vue2?中自定義圖片懶加載指令?v-lazy實例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-09-09
  • vite與xcode環(huán)境變量配置記錄詳解

    vite與xcode環(huán)境變量配置記錄詳解

    這篇文章主要為大家介紹了vite與xcode環(huán)境變量配置記錄詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-09-09
  • Vue實現(xiàn)炫酷的代碼瀑布流背景

    Vue實現(xiàn)炫酷的代碼瀑布流背景

    這篇文章主要為大家詳細介紹了Vue實現(xiàn)炫酷的代碼瀑布流背景,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-08-08
  • vue-element如何實現(xiàn)動態(tài)換膚存儲

    vue-element如何實現(xiàn)動態(tài)換膚存儲

    這篇文章主要介紹了vue-element如何實現(xiàn)動態(tài)換膚存儲問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • vue實現(xiàn)多個tab標簽頁的切換與關閉詳細代碼

    vue實現(xiàn)多個tab標簽頁的切換與關閉詳細代碼

    這篇文章主要給大家介紹了關于vue實現(xiàn)多個tab標簽頁的切換與關閉的相關資料,使用vue.js實現(xiàn)tab切換很簡單,文中通過代碼示例介紹的非常詳細,需要的朋友可以參考下
    2023-10-10
  • vue路由中前進后退的一些事兒

    vue路由中前進后退的一些事兒

    這篇文章主要給大家介紹了關于vue路由中前進后退的一些事兒,文中通過示例代碼介紹的非常詳細,對大家學習或者使用vue路由具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-05-05
  • vue3中使用swiper的完整版教程(超詳細!)

    vue3中使用swiper的完整版教程(超詳細!)

    工作中日常筆記,vue中使用swiper插件,在pc端和h5端也是常用的插件,下面這篇文章主要給大家介紹了關于vue3中使用swiper的完整版教程,需要的朋友可以參考下
    2023-04-04
  • vue2.0如何借用vue-pdf實現(xiàn)在線預覽pdf文件

    vue2.0如何借用vue-pdf實現(xiàn)在線預覽pdf文件

    這篇文章主要介紹了vue2.0如何借用vue-pdf實現(xiàn)在線預覽pdf文件問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • vue循環(huán)中點擊選中再點擊取消(單選)的實現(xiàn)

    vue循環(huán)中點擊選中再點擊取消(單選)的實現(xiàn)

    這篇文章主要介紹了vue循環(huán)中點擊選中再點擊取消(單選)的實現(xiàn),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09

最新評論

铜山县| 武陟县| 大足县| 剑河县| 玛纳斯县| 安吉县| 通山县| 德州市| 富源县| 丹阳市| 青岛市| 黄冈市| 南乐县| 秦皇岛市| 津南区| 闻喜县| 汽车| 云南省| 西吉县| 射洪县| 五常市| 琼中| 阿坝县| 辽中县| 闻喜县| 松潘县| 棋牌| 塔河县| 富宁县| 洪洞县| 长宁县| 兴业县| 堆龙德庆县| 岑溪市| 桃园县| 秦皇岛市| 孙吴县| 定陶县| 梧州市| 太康县| 平度市|