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

Vue中created和mounted使用詳解

 更新時間:2024年10月12日 09:11:52   作者:Jothan Zhong  
Vue中生命周期包括多個階段,如created和mounted,每階段有特定鉤子函數(shù),生命周期與瀏覽器渲染過程密切相關,了解這些可以優(yōu)化頁面渲染和數(shù)據(jù)處理,created階段適用于數(shù)據(jù)初始化,而mounted階段適合進行DOM操作和頁面渲染后的處理

一、生命周期概念

通俗地講,生命周期即Vue實例或組件從創(chuàng)建到被消滅的一系列過程,中間的各個節(jié)點被稱為鉤子. vue.js中created方法是一個生命周期鉤子函數(shù),一個vue實例被生成后會調(diào)用這個函數(shù)。

一個vue實例被生成后還要綁定到某個html元素上,之后還要進行編譯,然后再插入到document中。

每一個階段都會有一個鉤子函數(shù),方便開發(fā)者在不同階段處理不同邏輯。

一般可以在created函數(shù)中調(diào)用ajax獲取頁面初始化所需的數(shù)據(jù)。

二、瀏覽器渲染過程

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

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

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

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

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

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

beforeCreate階段

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

created階段

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

beforeMount階段

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

mounted階段

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

四、使用場景

通過瀏覽器的渲染過程,可以總結出created和mounted的使用場景

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

因此,在created中,是無法進行DOM操作的,而mounted可以獲取渲染出來的所有屬性值。

五、常見相關問題

一些頁面跳轉后, 一些基礎數(shù)據(jù)接口沒有重新請求

舉個簡單的例子:

created(){     
	this.init();  },   mounted() {    this.init();  },  methods: {    init() {        
	this.getList();        
	this.getdetailById();        
	this.getFicts();      
}    },}

總結

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • vue如何把字符串中的所有@內(nèi)容,替換成帶標簽的

    vue如何把字符串中的所有@內(nèi)容,替換成帶標簽的

    這篇文章主要介紹了vue如何把字符串中的所有@內(nèi)容,替換成帶標簽的問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • Vue3+Three.js實現(xiàn)為模型添加點擊事件

    Vue3+Three.js實現(xiàn)為模型添加點擊事件

    本文主要介紹了如何在Vue3和Three.js環(huán)境中為模型添加點擊事件監(jiān)聽,具體方法是利用Three.js的Vector2和Raycaster,首先,創(chuàng)建一個Vector2對象來獲取鼠標位置;然后,創(chuàng)建一個Raycaster對象來投射光線
    2024-10-10
  • Vue用v-for給循環(huán)標簽自身屬性添加屬性值的方法

    Vue用v-for給循環(huán)標簽自身屬性添加屬性值的方法

    這篇文章主要介紹了Vue用v-for給循環(huán)標簽自身屬性添加屬性值的方法,文中大家給大家列舉了三種方法 ,需要的朋友可以參考下
    2018-10-10
  • Vue實現(xiàn)色板功能的示例代碼

    Vue實現(xiàn)色板功能的示例代碼

    這篇文章主要為大家詳細介紹了如何使用Vue實現(xiàn)色板功能,文中的示例代碼講解詳細,具有一定的學習價值,感興趣的小伙伴可以了解一下
    2023-06-06
  • Vue axios設置訪問基礎路徑方法

    Vue axios設置訪問基礎路徑方法

    今天小編就為大家分享一篇Vue axios設置訪問基礎路徑方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-09-09
  • vue自定義加載指令最新詳解

    vue自定義加載指令最新詳解

    這篇文章主要介紹了vue自定義加載指令的相關知識,主要包括創(chuàng)建加載組件,創(chuàng)建指令的方法,結合實例代碼給大家介紹的非常詳細,需要的朋友可以參考下
    2022-06-06
  • 在Vue項目中使用Typescript的實現(xiàn)

    在Vue項目中使用Typescript的實現(xiàn)

    這篇文章主要介紹了在Vue項目中使用Typescript的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-12-12
  • vue--點擊當前增加class,其他刪除class的方法

    vue--點擊當前增加class,其他刪除class的方法

    今天小編就為大家分享一篇vue--點擊當前增加class,其他刪除class的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-09-09
  • 解決vue項目中遇到 Cannot find module ‘chalk‘ 報錯的問題

    解決vue項目中遇到 Cannot find module ‘chalk‘ 報錯的問題

    這篇文章主要介紹了解決vue項目中遇到 Cannot find module ‘chalk‘ 報錯的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11
  • Vue中foreach/map/filter的使用及說明

    Vue中foreach/map/filter的使用及說明

    foreach、map和filter是JavaScript中用于數(shù)組操作的三個方法,foreach用于循環(huán)遍歷數(shù)組并對每個元素進行操作,不會改變原數(shù)組,沒有返回值,map也用于遍歷數(shù)組,但會返回一個新的數(shù)組,不會改變原數(shù)組,每次遍歷都有返回值,filter用于過濾數(shù)組,根據(jù)條件返回一個新的數(shù)組
    2026-03-03

最新評論

台南市| 呼和浩特市| 上思县| 东乡| 平顶山市| 九寨沟县| 泗水县| 西城区| 平利县| 浮山县| 霍邱县| 靖安县| 罗定市| 财经| 道孚县| 连山| 垦利县| 巴东县| 九江县| 南昌市| 即墨市| 罗源县| 金寨县| 高淳县| 新巴尔虎左旗| 融水| 万州区| 金塔县| 连南| 勐海县| 紫阳县| 苍溪县| 奎屯市| 永德县| 仙桃市| 大丰市| 石家庄市| 河间市| 岗巴县| 江山市| 申扎县|