国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Vue生命周期詳解學習筆記

這篇具有很好參考價值的文章主要介紹了Vue生命周期詳解學習筆記。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

生命周期

  1. 生命周期又名生命周期回調函數,生命周期函數,生命周期鉤子。
  2. 生命周期是Vue在關鍵時刻幫我們調用的一些特殊名稱的函數。
  3. 生命周期函數的名字不可更改,但函數的具體內容是程序員根據需求編寫的。
  4. 生命周期中的this指向vm或組件實例對象。

鉤子函數

鉤子函數用來描述Vue實例從創(chuàng)建到銷毀整個生命周期。
Vue生命周期詳解學習筆記,vue.js,學習,筆記

八大鉤子數分別是:

beforeCreate,created,beforeMount,mounted(掛載),beforeUpdate,updated(更新),beforeDestory,destoryed(銷毀)

實例創(chuàng)建

            beforeCreate() {
                console.log('beforeCreate')
                console.log(this);//vm

            },
            created() {
                console.log('created')
            },
  • beforeCreate前的init:初始化:生命周期、事件,但數據代理還未開始
    data:{n:1},vm._data和vm.n都不存在。
  • beforeCreate:此時,無法通過vm訪問到data中的數據、methods中的方法。
     beforeCreate() {
                  console.log('beforeCreate')
                  console.log(this);//vm
                  debugger;//只分析到這里代碼停到這里
              },
    
  • beforeCreate之后的init:數據監(jiān)測,數據代理。
  • created:此時,可以通過vm訪問到data中的數據,methods中配置的方法。

頁面掛載

 beforeMount() {
                console.log('beforeMount');
                console.log(this);//vm
                // debugger;//只分析到這里代碼停到這里

            },
            // vue完成模板的解析并把初始的真實DOM元素放入頁面后(掛載完畢)調用mounted
            mounted() {
                console.log('mounted', this.$el instanceof HTMLElement)//mounted 是真實dom
            },
  • 下一階段,Vue開始解析模板,生成虛擬DOM(內存中),頁面還不能顯示解析好的內容。
    有el選項,無template選項,解析el的外部html做為模板,檢測div是否屬于模板,可以給div綁定:x=“n”,可以通過查看是否解析來看。
    Vue生命周期詳解學習筆記,vue.js,學習,筆記

無el選項,當vm.$mounted(el)被調用,檢測是否有template選項,進入下一步。
有el選項,有template選項,解析template進入渲染函數
Vue生命周期詳解學習筆記,vue.js,學習,筆記

將html內容放入單引號不換行不報錯,或者換行將單引號換成反引號,就不會報錯。

Vue生命周期詳解學習筆記,vue.js,學習,筆記

根據報錯的提示,一個template只能有一個根元素,所以需要將內容用div包裹.這樣就不報錯了,但是這樣的話div的root類名就不存在了。

  • beforeMount頁面呈現(xiàn)的是未經Vue編譯的DOM結構;所有對DOM的操作,最終都不奏效。
    beforeMount() {
                  console.log('beforeMount');
                  console.log(this);//vm
                  debugger;//只分析到這里代碼停到這里
              },
    
    如果沒有debugger斷點,控制臺都不會顯示操作DOM的結果。
  • 將內存中的虛擬DOM轉為真實DOM插入頁面(將vm$el替換el)
  • mounted:此時頁面中呈現(xiàn)的是經過Vue編譯的DOM,對Dom操作均有效(盡可能避免)。至此初始化過程結束,一般在此進行:開啟定時器、發(fā)送網絡請求、訂閱消息、綁定自定義事件、等初始化操作。

數據更新

beforeUpdate() {
                console.log('beforeUpdate')
                console.log(this.n)
                // debugger;
            },
            updated() {
                console.log('updated')
                console.log(this.n)
                // debugger;
            },
  • mounted掛載后,當數據發(fā)生改變會先調用beforeUpdate,此時,數據是新的,頁面是舊的。頁面尚未和數據保持同步。根據新數據,生成新的虛擬DOM,隨后與舊的虛擬DOM進行比較,最終完成頁面更新,即:完成了Model->View的更新,更新完后,頁面和數據保持同步,數據是新的,頁面也是新的。

實例銷毀

            beforeDestroy() {
                console.log('beforeDestroy')
            },
            destroyed() {
                console.log('destroyed')
            },
  • 當vm.$destroy()調用時,beforeDestroy:此時,vm中所有的:data、methods、指令等等,都處于可用狀態(tài),馬上要執(zhí)行銷毀過程,一般在此階段:關閉定時器,取消訂閱消息,解綁自定義事件等收尾操作。

  • vm.$destroy()完全銷毀一個實例,清理它與其它組件實例的連接,解綁它的全部指令及事件監(jiān)聽器(自定義事件)。
    Vue生命周期詳解學習筆記,vue.js,學習,筆記

    console.log是原生的do事件不是自定義事件所以銷毀后還是存在的文章來源地址http://www.zghlxwxcb.cn/news/detail-571501.html

總結

常用的生命周期鉤子:

  1. mounted,發(fā)送ajax請求,啟動定時器,綁定自定義事件,訂閱消息等【初始化操作】。
  2. beforeDestroy:清除定時器,解綁自定義事件、取消訂閱消息等【收尾工作】。

關于銷毀Vue實例

  1. 銷毀后借助Vue開發(fā)者工具看不到任何信息。
  2. 銷毀后自定義事件會失效,但原生DOM事件依然有效。
  3. 一般不會再beforeDestroy操作數據,因為即使操作數據,也不會再觸發(fā)更新流程了。

到了這里,關于Vue生命周期詳解學習筆記的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

本文來自互聯(lián)網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 深入探究Vue.js生命周期及其應用場景

    深入探究Vue.js生命周期及其應用場景

    當談到Vue.js的生命周期時,我們指的是組件在創(chuàng)建、更新和銷毀過程中發(fā)生的一系列事件。了解Vue的生命周期對于開發(fā)人員來說是至關重要的,因為它們提供了一個機會來執(zhí)行特定任務,并在不同的階段處理組件。 Vue的生命周期可以分為八個不同的階段:創(chuàng)建前、創(chuàng)建后、掛

    2024年02月06日
    瀏覽(31)
  • 【Vue】生命周期一文詳解

    【Vue】生命周期一文詳解

    目錄 前言 生命周期 鉤子函數使用方法 ?編輯 周期-----創(chuàng)建階段 創(chuàng)建階段做了些什么事 該階段可以干什么 周期----掛載階段 掛載階段做了什么事 該階段適合干什么 周期----更新階段 更新階段做了什么事 該階段適合做什么 周期----銷毀階段 銷毀階段做了什么事 該階段適合做

    2024年02月05日
    瀏覽(53)
  • Vue的生命周期的詳解

    Vue的生命周期的詳解

    Vue的生命周期是每個使用Vue框架的前端人員都需要掌握的知識,以此作為記錄。 Vue的生命周期就是vue實例從創(chuàng)建到銷毀的全過程,也就是new Vue() 開始就是vue生命周期的開始。Vue 實例有?個完整的?命周期,也就是從開始創(chuàng)建、初始化數據、編譯模版、掛載Dom - 渲染、更新

    2024年02月02日
    瀏覽(24)
  • Vue生命周期函數(詳解)

    Vue生命周期函數(詳解)

    目錄 ?生命周期圖 生命周期函數 beforeCreate和created的區(qū)別 beforeCreate創(chuàng)建前應用場景 ?created創(chuàng)建后應用場景 beforeMount和mounted的區(qū)別 ?beforeMount掛載前應用場景 ?mounted掛載后應用場景 ?beforeUpdate和updated的區(qū)別 ?beforeUpdate更新前應用場景 ?updated更新后應用場景 ?beforeDestroy和des

    2024年02月13日
    瀏覽(24)
  • Vue--》詳解Vue組件生命周期的三個階段

    Vue--》詳解Vue組件生命周期的三個階段

    目錄 組件生命周期 創(chuàng)建階段 beforeCreate階段: created階段: beforeMount階段

    2024年01月22日
    瀏覽(41)
  • Vue2的生命周期(詳解)

    Vue2的生命周期(詳解)

    Vue實例的生命周期: 從創(chuàng)建到銷毀的整個過程 Vue框架內置函數,隨著組件的生命周期階段,自動執(zhí)行 作用:特定的時間點,執(zhí)行特定的操作 分類:四大階段 八大方法 new Vue() – Vue實例化(組件也是一個小的Vue實例) Init Events Lifecycle – 初始化事件和生命周期函數 beforeCreate – 生命周期

    2024年02月03日
    瀏覽(20)
  • 前端面試題——詳解VUE的生命周期

    前端面試時,很多面試官都會問這樣一道題,“學習過vue嗎,了解VUE的生命周期嗎”,因為vue它是現(xiàn)在前端用的最多的一個框架,想要找前端工作的朋友們還是有必要掌握一下vue的生命周期以及每個周期的作用。下面給大家詳解一下vue的生命周期,也歡迎大家對其進行補充!

    2024年02月15日
    瀏覽(24)
  • 學習Vue:組件生命周期

    在Vue.js中,組件的生命周期是指組件從創(chuàng)建到銷毀的整個過程,而生命周期鉤子函數則是在不同階段執(zhí)行的函數,允許您在特定時間點添加自定義邏輯。本文將詳細介紹組件的生命周期以及常用的生命周期鉤子函數。 組件的生命周期可以分為以下幾個階段: 創(chuàng)建階段: 在這

    2024年02月12日
    瀏覽(26)
  • 前端學習--Vue(4) 生命周期

    前端學習--Vue(4) 生命周期

    一個組件從創(chuàng)建-運行-銷毀的真?zhèn)€階段,強調的是一個時間段 ?1.1.1 創(chuàng)建 (只執(zhí)行一次) created() 階段任務:最早可以使用methods中的方法發(fā)起ajax請求獲取數據,并將數據掛載到data中 mounted() 階段任務:最早可以操作dom元素 1.1.2 運行 (最少0次,最多n次) beforeUpdate() 觸發(fā)時機:

    2024年02月07日
    瀏覽(28)
  • vue2的生命周期詳解(代碼演示+源碼)

    vue2的生命周期詳解(代碼演示+源碼)

    ? ? ? ? 生命周期是指從開始創(chuàng)建、初始化數據、編譯模版、掛載 Dom - 渲染、更新 - 渲染、卸載等一系列過程,我們稱這是 Vue 的生命周期,它主要強調一個時間段。用一句話來概括就是: Vue實例的生命周期: 從創(chuàng)建到銷毀的整個過程 Vue框架內置函數,隨著組件的生命周期階

    2024年02月04日
    瀏覽(14)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包