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

Vue中created和mounted使用場(chǎng)景分析

 更新時(shí)間:2023年05月13日 14:42:28   作者:慕白Lee  
vue.js中created方法是一個(gè)生命周期鉤子函數(shù),一般可以在created函數(shù)中調(diào)用ajax獲取頁(yè)面初始化所需的數(shù)據(jù),這篇文章主要介紹了Vue中created和mounted使用場(chǎng)景分析,需要的朋友可以參考下

一、生命周期概念

通俗地講,生命周期即Vue實(shí)例或組件從創(chuàng)建到被消滅的一系列過(guò)程,中間的各個(gè)節(jié)點(diǎn)被稱(chēng)為鉤子.vue.js中created方法是一個(gè)生命周期鉤子函數(shù),一個(gè)vue實(shí)例被生成后會(huì)調(diào)用這個(gè)函數(shù)。一個(gè)vue實(shí)例被生成后還要綁定到某個(gè)html元素上,之后還要進(jìn)行編譯,然后再插入到document中。每一個(gè)階段都會(huì)有一個(gè)鉤子函數(shù),方便開(kāi)發(fā)者在不同階段處理不同邏輯。一般可以在created函數(shù)中調(diào)用ajax獲取頁(yè)面初始化所需的數(shù)據(jù)。

二、瀏覽器渲染過(guò)程

要深刻理解生命周期的各個(gè)節(jié)點(diǎn),就必須了解瀏覽器的渲染過(guò)程

  • 構(gòu)建DOM樹(shù)
  • 構(gòu)建css規(guī)則樹(shù),根據(jù)執(zhí)行順序解析js文件。
  • 構(gòu)建渲染樹(shù)Render Tree
  • 渲染樹(shù)布局layout
  • 渲染樹(shù)繪制

三、生命周期中的瀏覽器渲染

  • created:已創(chuàng)建,在模板渲染成html前調(diào)用,即通常初始化某些屬性值,然后再渲染成視圖。
  • mounted:已掛載,在模板渲染成html后調(diào)用,通常是初始化頁(yè)面完成后,再對(duì)htmldom節(jié)點(diǎn)進(jìn)行一些操作。

通常created使用的次數(shù)多,而mounted是在一些插件或組件的使用中進(jìn)行操作,
比如插件chart.js的使用: var ctx = document.getElementById(ID);
通常會(huì)有這一步,而如果你寫(xiě)入組件中,
你會(huì)發(fā)現(xiàn)在created中無(wú)法對(duì)chart進(jìn)行一些初始化配置,
一定要等這個(gè)html渲染完后才可以進(jìn)行,那么mounted就是不二之選。

生命周期是否獲取dom節(jié)點(diǎn)是否獲取data是否獲取methods
beforeCreate
created
beforeMount
mounted

beforeCreate階段

對(duì)瀏覽器來(lái)說(shuō),整個(gè)渲染流程尚未開(kāi)始或者說(shuō)準(zhǔn)備開(kāi)始,對(duì)vue來(lái)說(shuō),實(shí)例尚未被初始化,data observer和 event/watcher也還未被調(diào)用,在此階段,對(duì)data、methods或文檔節(jié)點(diǎn)的調(diào)用現(xiàn)在無(wú)法得到正確的數(shù)據(jù)。

created階段

對(duì)瀏覽器來(lái)說(shuō),渲染整個(gè)HTML文檔時(shí),dom節(jié)點(diǎn)、css規(guī)則樹(shù)與js文件被解析后,但是沒(méi)有進(jìn)入被瀏覽器render過(guò)程,上述資源是尚未掛載在頁(yè)面上,也就是在vue生命周期中對(duì)應(yīng)的created階段,實(shí)例已經(jīng)被初始化,但是還沒(méi)有掛載至 $el上,所以我們無(wú)法獲取到對(duì)應(yīng)的節(jié)點(diǎn),但是此時(shí)我們是可以獲取到vue中data與methods中的數(shù)據(jù)的

beforeMount階段

實(shí)際上與created階段類(lèi)似,節(jié)點(diǎn)尚未掛載,但是依舊可以獲取到data與methods中的數(shù)據(jù)。

mounted階段

對(duì)瀏覽器來(lái)說(shuō),已經(jīng)完成了dom與css規(guī)則樹(shù)的render,并完成對(duì)render tree進(jìn)行了布局,而瀏覽器收到這一指令,調(diào)用渲染器的paint()在屏幕上顯示,而對(duì)于vue來(lái)說(shuō),在mounted階段,vue的template成功掛載在$el中,此時(shí)一個(gè)完整的頁(yè)面已經(jīng)能夠顯示在瀏覽器中,所以在這個(gè)階段,即可以調(diào)用節(jié)點(diǎn)了(關(guān)于這一點(diǎn),在筆者測(cè)試中,在mounted方法中打斷點(diǎn)然后run,依舊能夠在瀏覽器中看到整體的頁(yè)面)。

四、使用場(chǎng)景

通過(guò)瀏覽器的渲染過(guò)程,可以總結(jié)出created和mounted的使用場(chǎng)景

    created:通常用于初始化某些屬性值,例如data中的數(shù)據(jù),然后再渲染成視圖。
    mounted:通常在初始化頁(yè)面完成后,對(duì)html的dom節(jié)點(diǎn)進(jìn)行需要的操作。

因此,在created中,是無(wú)法進(jìn)行DOM操作的,而mounted可以獲取渲染出來(lái)的所有屬性值。

五、常見(jiàn)相關(guān)問(wèn)題

一些頁(yè)面跳轉(zhuǎn)后, 一些基礎(chǔ)數(shù)據(jù)接口沒(méi)有重新請(qǐng)求

舉個(gè)簡(jiǎn)單的例子
 created(){ 
	this.init();
  }, 
mounted() {
    this.init();
  },
 methods: {
    init() {
        this.getList();
        this.getdetailById();
        this.getFicts();
      }
    },
}

到此這篇關(guān)于Vue中created和mounted詳解的文章就介紹到這了,更多相關(guān)Vue中created和mounted內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 詳解Jest結(jié)合Vue-test-utils使用的初步實(shí)踐

    詳解Jest結(jié)合Vue-test-utils使用的初步實(shí)踐

    這篇文章主要介紹了詳解Jest結(jié)合Vue-test-utils使用的初步實(shí)踐,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • vue關(guān)閉eslint檢查的方式

    vue關(guān)閉eslint檢查的方式

    這篇文章主要介紹了vue關(guān)閉eslint檢查的方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • 一個(gè)Vue頁(yè)面的內(nèi)存泄露分析詳解

    一個(gè)Vue頁(yè)面的內(nèi)存泄露分析詳解

    這篇文章主要介紹了一個(gè)Vue頁(yè)面的內(nèi)存泄露分析詳解,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-06-06
  • Vue中使用Printjs插件實(shí)現(xiàn)打印功能

    Vue中使用Printjs插件實(shí)現(xiàn)打印功能

    Print.js 主要是為了幫助我們直接在我們的應(yīng)用程序中打印 PDF 文件,無(wú)需離開(kāi)界面,也無(wú)需使用嵌入,這篇文章主要介紹了Vue中使用Printjs插件實(shí)現(xiàn)打印功能,需要的朋友可以參考下
    2022-08-08
  • vue-class-setup?編寫(xiě)?class?風(fēng)格組合式API

    vue-class-setup?編寫(xiě)?class?風(fēng)格組合式API

    這篇文章主要為大家介紹了vue-class-setup?編寫(xiě)?class?風(fēng)格組合式API,支持Vue2和Vue3,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-09-09
  • 56個(gè)實(shí)用的JavaScript 工具函數(shù)助你提升開(kāi)發(fā)效率

    56個(gè)實(shí)用的JavaScript 工具函數(shù)助你提升開(kāi)發(fā)效率

    今天來(lái)看看JavaScript中的一些實(shí)用的工具函數(shù),希望能幫助你提高開(kāi)發(fā)效率!需要的朋友可以參考下面文章的具體內(nèi)容
    2021-10-10
  • 淺談Vue 自動(dòng)化部署打包上線(xiàn)

    淺談Vue 自動(dòng)化部署打包上線(xiàn)

    這篇文章主要介紹了淺談Vue 自動(dòng)化部署打包上線(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • vue2.0 datepicker使用方法

    vue2.0 datepicker使用方法

    這篇文章主要介紹了vue2.0 datepicker的使用方法,非常不錯(cuò),具有參考借鑒借鑒價(jià)值,需要的朋友參考下
    2018-02-02
  • vuex頁(yè)面刷新數(shù)據(jù)丟失解決方法詳解

    vuex頁(yè)面刷新數(shù)據(jù)丟失解決方法詳解

    這篇文章主要為大家介紹了vuex頁(yè)面刷新數(shù)據(jù)丟失解決方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-07-07
  • vue/cli3版本打包如何去掉soucemap文件

    vue/cli3版本打包如何去掉soucemap文件

    這篇文章主要介紹了vue/cli3版本打包如何去掉soucemap文件問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-06-06

最新評(píng)論

南汇区| 吴忠市| 湖北省| 仙居县| 瑞丽市| 宣城市| 鄂尔多斯市| 崇阳县| 沈丘县| 淮滨县| 界首市| 宁河县| 阿拉善右旗| 延边| 嘉荫县| 阿鲁科尔沁旗| 阳城县| 西乌珠穆沁旗| 沿河| 大同县| 平阴县| 台州市| 锦州市| 双流县| 大田县| 甘洛县| 齐齐哈尔市| 商都县| 龙井市| 离岛区| 黔南| 平阴县| 本溪市| 宾阳县| 阿城市| 海口市| 安顺市| 兰西县| 奉贤区| 澎湖县| 汤原县|