這次帶給大家vue中keep-alive使用步驟詳解,vue中keep-alive使用的注意事項有哪些,下面就是實戰案例,一起來看一下。
1.keep-alive的作用以及好處
在做電商有關的項目中,當我們第一次進入清單頁需要請求數據,當我從列表頁進入詳情頁,詳情頁不緩存也需要請求下數據,然後返回列表頁,這時候我們使用keep-alive來緩存組件,防止二次渲染,這樣會大大的節省性能。
2.keep-alive的基本用法
在app.vue中
<!-- 缓存所有的页面 --> <keep-alive> <router-view v-if="$route.meta.keep_alive"></router-view> </keep-alive> <router-view v-if="!$route.meta.keep_alive"></router-view>
需要快取的元件內容直接在router中加入:
meta: { keepAlive: true // true 表示需要使用缓存 false表示不需要被缓存 }
3.keep-alive的生命週期
當引入keep-alive的時候,頁面第一次進入,鉤子的觸發順序created-> mounted-> activated,退出時觸發deactivated。當再次進入(前進或後退)時,只觸發activated。
下面看下vue中keep-alive 的使用問題及解決方案
##問題描述
跳轉但是傳回需要保留資料的場景;vue 中提供了keep-alive 來處理##解決方案
返回dom不讓其重新刷新,在vue-view外麵包一層, 當引入keep-alive的時候,頁面第一次進入,鉤子的觸發順序created-> mounted-> activated,退出時觸發deactivated。當再次進入(前進或後退)時,只觸發activated。
事件掛載的方法等,只執行一次的放在mounted 中;元件每次進去執行的方法放在activated 中;
可以將是否包裹keep-alive透過參數配置;
<keep-alive> <router-view v-if="$route.meta.keepAlive" style="min-height:100%"></router-view> </keep-alive> <router-view v-if="!$route.meta.keepAlive" style="min-height:100%"></router-view> //不需要刷新的路由配置里面配置 meta: {keepAlive: true}, 这个路由则显示在上面标签; //需要刷新的路由配置里面配置 meta: {keepAlive: false}, 这个路由则显示在下面标签;
相信看了本文案例你已經掌握了方法,更多精彩請關注php中文網其它相關文章!
推薦閱讀:
以上是vue中keep-alive使用步驟詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!