欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Vue中created和mounted使用場景分析

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

一、生命周期概念

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

二、瀏覽器渲染過程

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

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

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

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

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

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

beforeCreate階段

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

created階段

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

beforeMount階段

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

mounted階段

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

四、使用場景

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

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

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

五、常見相關問題

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

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

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

相關文章

  • 使用vue-cli創(chuàng)建項目并webpack打包的操作方法

    使用vue-cli創(chuàng)建項目并webpack打包的操作方法

    本文給大家分享使用vue-cli創(chuàng)建項目基于webpack模板打包的配置方法,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2021-07-07
  • vue中post請求報400的解決方案

    vue中post請求報400的解決方案

    這篇文章主要介紹了vue中post請求報400的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-10-10
  • 使用vue指令實現吸頂效果

    使用vue指令實現吸頂效果

    要想實現一個吸頂效果不是很難,網絡上有很多教程,其中有一種就是通過fiexd加top來實現,今天突然就想做一個吸頂效果,因為最近都在用vue,所以想用vue來做一個吸頂效果的案例,感興趣的朋友可以參考下
    2023-11-11
  • vue2.0實現列表數據增加和刪除

    vue2.0實現列表數據增加和刪除

    這篇文章主要為大家詳細介紹了vue2.0實現列表數據增加和刪除,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-06-06
  • Vue Element前端應用開發(fā)之圖標的維護和使用

    Vue Element前端應用開發(fā)之圖標的維護和使用

    在Vue Element前端應用中,圖標是必不可少點綴界面的元素,Element界面組件里面提供了很多常見的圖標,因此考慮擴展更多圖標,引入了vue-awesome組件,它利用了Font Awesome的內置圖標,實現了更多圖標的整合,可以在項目中使用更多的圖標元素了
    2021-05-05
  • vue實現兩個區(qū)域滾動條同步滾動

    vue實現兩個區(qū)域滾動條同步滾動

    這篇文章主要為大家詳細介紹了vue實現兩個區(qū)域滾動條同步滾動,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-12-12
  • apache和nginx下vue頁面刷新404的解決方案

    apache和nginx下vue頁面刷新404的解決方案

    這篇文章主要介紹了apache和nginx下vue頁面刷新404的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • vue-cli項目中使用Mockjs詳解

    vue-cli項目中使用Mockjs詳解

    這篇文章主要介紹了vue-cli項目中使用Mockjs詳解,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-05-05
  • Vue左滑組件slider使用詳解

    Vue左滑組件slider使用詳解

    這篇文章主要為大家詳細介紹了Vue左滑組件slider的使用,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-08-08
  • Vue中JSX的基本用法及高級部分

    Vue中JSX的基本用法及高級部分

    JSX是一種Javascript的語法擴展,JSX = Javascript + XML,即在 Javascript里面寫XML,因為 JSX 的這個特性,所以他即具備了 Javascript的靈活性,同時又兼具html的語義化和直觀性,這篇文章主要給大家介紹了關于Vue中JSX的基本用法及高級部分的相關資料,需要的朋友可以參考下
    2022-11-11

最新評論