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

Vue組件與生命周期詳細講解

 更新時間:2022年10月17日 17:13:27   作者:愛思考的豬  
Vue的生命周期就是vue實例從創(chuàng)建到銷毀的全過程,也就是new Vue() 開始就是vue生命周期的開始。Vue 實例有?個完整的?命周期,也就是從開始創(chuàng)建、初始化數(shù)據(jù)、編譯模版、掛載Dom -> 渲染、更新 -> 渲染、卸載 等?系列過程,稱這是Vue的?命周期

寫在前面

Vue.js的核心就是以簡潔的模板語法將數(shù)據(jù)渲染進Dom系統(tǒng)。vue實例在渲染成html的時候往往要經(jīng)過以下的步驟:

  • 讀取數(shù)據(jù)和方法,設(shè)置數(shù)據(jù)綁定和監(jiān)聽
  • 解析template
  • 將實例掛載到Dom,并將實例狀態(tài)和視圖綁定,在執(zhí)行這些步驟的時候,vue還提供了一些生命周期的方法,用來在不同的階段對代碼做增添和修改。

生命周期

  • beforeCreate

vue實例初始化,數(shù)據(jù)監(jiān)聽和方法屬性掛載之前調(diào)用

  • created

數(shù)據(jù)監(jiān)聽和方法屬性掛載之后調(diào)用,是最早可以獲取和操作數(shù)據(jù)及方法的數(shù)據(jù)

  • beforeMounted

template解析之后調(diào)用,這個時候?qū)嵗€沒掛載到dom上

  • mounted

replace el之后調(diào)用,實例已經(jīng)掛載到dom上,是最早可以操作dom的時候

  • beforeUpdate

組件中的數(shù)據(jù)發(fā)生變化的時候執(zhí)行,此時數(shù)據(jù)已經(jīng)和頁面保持同步,只是頁面還沒更新

  • updated

數(shù)據(jù)更新后,頁面也是最新的

  • beforeDestroy

實例銷毀之前調(diào)用,實例上的方法和屬性還可以調(diào)用

  • destroyed

實例已經(jīng)銷毀,實例上的東西已經(jīng)不可以使用

圖解

問: 什么時候可以操作dom?

outer html(直接渲染在根節(jié)點下面的)在beforcreate階段就可以操作,使用template渲染的要在mounted階段才可以操作

  <div id='app'>
    <span id='span1'> 直接渲染的文字 </span>
    <span id='span2'> {{message}} <span>
    <com id='span3'></com>
  </div>
  <script>
    function deepClone(obj){
      return obj && JSON.parse(JSON.stringify(obj));
    };
    </script>
<script>
  function test(stage) {
    var span1 = document.getElementById('span1');
    var span2 = document.getElementById('span2');
    var span3 = document.getElementById('span3');
    debugger;
  };
  Vue.component('com', {
    template: '<span>使用template渲染的文字</span>'
  });
  var vm = new Vue({
    el:'#app',
    data: {
      message: 'hello vue!'
    },
    beforeCreate() {
      test('beforeCreate');
    },
    created() {
      test('created');
    },
    beforeMount() {
      test('beforeMount');
    },
    mounted() {
      test('mounted');
    }
  });
</script>

beforeCreate階段、created階段、beforeMount階段

可以操作outer html但獲取不到data中的數(shù)據(jù),template這個時候還沒渲染,無法被獲取到

mounted階段

mounted階段頁面已經(jīng)渲染完畢,可以操作所有的dom

總結(jié)

  1. created階段將數(shù)據(jù)和事件注入,并完成了數(shù)據(jù)觀測,是最早可以獲取和使用data、method的時候
  2. beforeMount階段進行template的解析和渲染
  3. mounted階段將實例注入dom,是最早可以操作dom的時候
  4. beforeMount在數(shù)據(jù)發(fā)生變化后執(zhí)行,數(shù)據(jù)已經(jīng)更新
  5. mounted階段在視圖更新后執(zhí)行,數(shù)據(jù)和頁面已經(jīng)同步
  6. beforDestroy在實例/組件銷毀之前執(zhí)行,還可以使用組件的方法和屬性
  7. destroyed 實例銷毀后執(zhí)行,不能再使用實例

組件的生命周期還有actived和deactived是keep-alive的專屬。

到此這篇關(guān)于Vue組件與生命周期詳細講解的文章就介紹到這了,更多相關(guān)Vue組件與生命周期內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Vue的樣式綁定詳解

    Vue的樣式綁定詳解

    這篇文章主要為大家詳細介紹了Vue的樣式綁定,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-02-02
  • vue中組件傳參的幾種常用方法舉例

    vue中組件傳參的幾種常用方法舉例

    這篇文章主要給大家介紹了關(guān)于vue中組件傳參的幾種常用方法,Vue組件傳參方也是面試最??嫉膬?nèi)容,文中通過代碼實例介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-08-08
  • vue項目實現(xiàn)記住密碼到cookie功能示例(附源碼)

    vue項目實現(xiàn)記住密碼到cookie功能示例(附源碼)

    本篇文章主要介紹了vue項目實現(xiàn)記住密碼到cookie功能示例(附源碼),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • 如何使用Vue3設(shè)計實現(xiàn)一個Model組件淺析

    如何使用Vue3設(shè)計實現(xiàn)一個Model組件淺析

    v-model在Vue里面是一個語法糖,數(shù)據(jù)的雙向綁定,本質(zhì)上還是通過 自定義標簽的attribute傳遞和接受,下面這篇文章主要給大家介紹了關(guān)于如何使用Vue3設(shè)計實現(xiàn)一個Model組件的相關(guān)資料,需要的朋友可以參考下
    2022-08-08
  • 可控制緩存銷毀的?keepAlive?組件實現(xiàn)詳解

    可控制緩存銷毀的?keepAlive?組件實現(xiàn)詳解

    這篇文章主要為大家介紹了可控制緩存銷毀的?keepAlive?組件實現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-10-10
  • vue實現(xiàn)大文件分片上傳與斷點續(xù)傳到七牛云

    vue實現(xiàn)大文件分片上傳與斷點續(xù)傳到七牛云

    這篇文章介紹了vue實現(xiàn)大文件分片上傳與斷點續(xù)傳到七牛云的方法,文中通過示例代碼介紹的非常詳細。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-06-06
  • Vue組件化開發(fā)思考

    Vue組件化開發(fā)思考

    這篇文章主要介紹了Vue組件化開發(fā)的思考以及相關(guān)的原理介紹,如果你對此有興趣,可以學(xué)習(xí)參考下。
    2018-02-02
  • vue+swiper實現(xiàn)左右滑動的測試題功能

    vue+swiper實現(xiàn)左右滑動的測試題功能

    這篇文章主要介紹了vue+swiper實現(xiàn)左右滑動的測試題功能,本文通過實例代碼給大介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-10-10
  • Vue實現(xiàn)選擇城市功能

    Vue實現(xiàn)選擇城市功能

    這篇文章主要介紹了Vue實現(xiàn)選擇城市功能,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2017-05-05
  • vue-cli配置全局sass、less變量的方法

    vue-cli配置全局sass、less變量的方法

    這篇文章主要介紹了vue-cli配置全局sass、less變量的方法,本文分步驟給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-06-06

最新評論

梁山县| 玉树县| 富源县| 永平县| 淄博市| 西宁市| 洮南市| 丰都县| 西乡县| 泽州县| 清苑县| 辛集市| 叶城县| 麟游县| 桓仁| 宁安市| 盐津县| 英超| 侯马市| 历史| 苗栗市| 香格里拉县| 长海县| 绥滨县| 永善县| 福清市| 东乌珠穆沁旗| 龙州县| 明星| 炎陵县| 镇康县| 淮安市| 澄迈县| 平顺县| 武穴市| 方正县| 兖州市| 棋牌| 伊川县| 安顺市| 华池县|