axios之Vue請求初始化數據放在Created仍是Mounted?

先分析下生命週期html

beforecreated:el 和 data 並未初始化 created:完成了 data 數據的初始化,el沒有 beforeMount:完成了 el 和 data 初始化 mounted :完成掛載

 

(1)mountedjquery

  不少人跟我說初始化放在Mounted裏面, 我問她(他)們爲何?她(他)們回答說由於這個時候DOM初始化渲染好啦。而後我繼續問DOM初始化渲染和請求初始化數據有什麼關係?他們會說能夠顯示請求出來的數據啦。(你們以爲有衝突嗎?)函數

DOM初始化渲染和請求初始化數據並無什麼衝突

  讓咱們在看看前面的Vue生命週期spa

  a、beforeCreate:
    (在實例初始化以後,數據觀測 (data observer) 和 event/watcher 事件配置以前被調用。---官方貼的)插件

    

 

   b、beforeMount:3d

    (在掛載開始以前被調用:相關的 render 函數首次被調用。---官方貼的)code

    

 

   

看了這個2個咱們繼續分析:server

咱們請求回來的初始化數據或者基礎數據是否是須要掛在Vue的Data上面?(是的,須要√) 而後咱們繼續beforeCreate的時候Data有沒有生成?(答案是:沒有。×) --因此這一步是沒法把數據掛到Vue的Data上面的 而後我繼續看created的時候Data有沒有生成?(答案是:生成啦。√) --因此這一步咱們是能夠把數據掛到Vue的Data上面的,是否是能夠放在這裏啦? --是的,能夠放在這裏啦。因此最後結論就是放在created裏面。

 

補充分析:htm

(1)mountedblog

  若是把全部請求放在created裏面的話,請求過多會,加載太慢會致使頁面出現短暫的白屏狀況,通常上我寫的話,接口不復雜會放created裏面,接口多複雜的話會放在mounted裏面.

(2)mounted

  created 是加載DOM,html以後 就立刻執行, 好比初始化,獲取屏幕高度調整,賦值等等,而mounted就是執行包括js以後,準備開始調用方法,也就是說 相似傳統開發那樣,先加載jquery 再調用插件

 

 

 

.

相關文章
相關標籤/搜索