1. 程式人生 > >詳解關於Vue2.0路由開啟keep-alive時需要注意的地方

詳解關於Vue2.0路由開啟keep-alive時需要注意的地方

Vue2.0 做應用必有的需求就是頁面資料需要做快取,不用每次進入頁面都要把資料重新請求一遍,每次頁面切換都有段等待資料相應時間,這個使用者體驗可想有多麼蛋疼,所以頁面快取是必要的,啥時候需要更新頁面資料呢?可以監聽狀態變化,或者是手動下拉重新整理重新請求資料,醬紫,我想使用者體驗會做的更好。

keep-alive的作用以及好處

在做電商有關的專案中,當我們第一次進入列表頁需要請求一下資料,當我從列表頁進入詳情頁,詳情頁不快取也需要請求下資料,然後返回列表頁,這時候我們使用keep-alive來快取元件,防止二次渲染,這樣會大大的節省效能。

廢話不多說直接上碼,一般是在 src/App.vue 設定開啟 keep-alive 實現頁面資料快取:

?
1 2 3 4 5 <template>   <keep-alive>
   <router-view></router-view>   </keep-alive> </template>

列舉幾個常用的 hook 方法,如下:

?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 export default {   data() {    return {        }   },   created: function () {    console.log( "the hook of created is done!" );   },   mounted: function () {    console.log( "the hook of mounted is done!" );   },   activated: function () {    console.log( "the hook of activated is done!" );   },   deactivated: function () {    console.log( "the hook of deactivated is done!" );   } }

首次進來 hook 的觸發順序 created-> mounted-> activated,退出時觸發 deactivated:

// 控制檯列印結果
the hook of created is done!
the hook of mounted is done!
the hook of activated is done!
the hook of deactivated is done!

二次進來 hook 只觸發 activated,退出時觸發 deactivated:

// 控制檯列印結果
the hook of activated is done!
the hook of deactivated is done!

所以這就是為什麼有些人開啟 keep-alive 之後,created 和 mounted 註冊的 pageInt 方法不觸發的原因了,因為 keep-alive 把它們遮蔽了,也就是把資料快取起來,所以不再請求。

如果你的某些頁面一定要實時請求,你可以直接在 activated 這個 hook 做 pageInt,就不要在 created 和 mounted 上面註冊 pageInt 方法了。

還有你可以選擇性 pageInt,比如監聽狀態變化,包括但不限於監聽路由的變化,某引數的變化,某時間節點的變化等等。

 

中科院新科海學校軟體測試視訊    下載地址:百度網盤下載
效能測試與LoadRunner基礎培訓 視訊教程 教學視訊 百度網盤下載(價值1580元)     下載地址:百度網盤下載
【全6套視訊】軟體測試系列教程    下載地址:百度網盤下載
測試基礎篇/軟體測試教程入門    下載地址:百度網盤下載
實下最流行的測試框架Selenium視訊教程 Web應用程式測試的工具學習視訊教程    下載地址:百度網盤下載
煉數成金 快速上手Jmeter效能測試工具 軟體壓力測試學習 視訊教程 教學視訊    下載地址:百度網盤下載
中游學院Swift語言視訊教程swift培訓視訊 101課    下載地址:百度網盤下載
IOS開發進階視訊教程 63課    下載地址:百度網盤下載
IOS SWIFT網路程式設計CFNetwork視訊教程 9課 附原始碼    下載地址:百度網盤下載
IOS開發之Swift開發語言快速入門座標系計算機語言學習法視訊教程 共30課 附原始碼    下載地址:百度網盤下載
2017IOS效能優化工具Instruments使用視訊教程 4課 附講義    下載地址:百度網盤下載
IOS基礎到就業培訓班 40課    下載地址:百度網盤下載
麥子學院 IOS工程師培訓視訊教程    下載地址:百度網盤下載
IOS動畫程式設計UIViewAnimation開發視訊教程 10課 附思維導圖與原始碼    下載地址:百度網盤下載
IOS地理位置及定位系統MapKit開發視訊教程 15課 附原始碼    下載地址:百度網盤下載
IOS多執行緒及非同步任務處理NSThread與TaskQueue視訊教程 12課 附課件與原始碼    下載地址:百度網盤下載
IOS多媒體影音CoreAudio程式設計視訊教程 14課 附原始碼課件    下載地址:百度網盤下載
IOS8 App開發快速入門視訊教程與案例分享 20課 附講義    下載地址:百度網盤下載
IOS教程UIKit包表格集合與控制器使用視訊教程 27課 附原始碼    下載地址:百度網盤下載
IOS9教程完整高清版 包含原始碼課件 練習題    下載地址:百度網盤下載