首頁 >web前端 >js教程 >vue中keep-alive使用方法詳解

vue中keep-alive使用方法詳解

php中世界最好的语言
php中世界最好的语言原創
2018-05-29 14:32:114360瀏覽

這次帶給大家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中文網其它相關文章!

推薦閱讀:

如何使用element-ui 限制日期選擇

怎麼實作Mac內徹底卸載node和npm

####

以上是vue中keep-alive使用方法詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn