国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

vue2使用keep-alive緩存多層列表頁的方法

2024-05-06 15:29:39
字體:
來源:轉載
供稿:網友

vue關于列表頁和詳情頁的展現比較讓人頭疼,在列表頁面點擊進詳情頁返回以后,列表頁會重新刷新。假如在第五頁找到的數據,點擊修改后返回又跳回第一頁了,這個時候就需要用到keep-alive緩存頁面數據,但keep-alive緩存的頁面一直不會發生改變,特別是列表頁層級很多的情況下,更加復雜。

譬如我后臺的一個管理頁面,因為數據關聯很復雜,所以做了三層列表頁嵌套,上一層點擊管理就可以進行下一層的數據展現,每一層列表頁都包含了3到4個需要循環展現的數據。在加入keep-alive之前我使用路由和自定義組件的方式組織頁面的。

路由到詳情頁,然后詳情頁加載列表頁組件展現,然后在組件模塊通過props:[‘id']獲取數據

import Vmothod from '../page/ApiMethodTable.vue';import VsystemParam from '../page/ApiSystemParamTable.vue';import VsystemError from '../page/ApiSystemErrorTable.vue';<template> <div>  <Vmothod :id="id"></Vmothod>  <VsystemParam :id="id"></VsystemParam>  <VsystemError :id="id"></VsystemError> </div></template>

但是如此以來,在返回上一層或者修改數據回跳后,因為沒有頁面緩存,所以頁數會變成第一頁,使用上很不方便。

在網上找了相關解決方案后,我試著在路由上加入了keep-alive參數。

meta: { keepAlive: true }
 <keep-alive>  <router-view v-if="$route.meta.keepAlive"></router-view> </keep-alive> <router-view v-if="!$route.meta.keepAlive"></router-view>

這樣解決了頁面不緩存的問題,但跳轉之后所有頁面都是一模一樣的數據,這就很不對了。后臺發覺還要在頁面初始化時加入鉤子函數拉取數據

 activated(){  this.getData(); }

但是發覺還是不行,上一頁通過props:[‘id']傳遞到組件參數也會被緩存,如此以來props不能用了,只有通過在路由來傳遞參數。

在路由的時候帶上id參數

path:'/method/:id'

然后在組件頁面獲取參數

self.$route.params.id

如此終于順暢的緩存了詳情頁的當前頁面參數。

以上這篇vue2使用keep-alive緩存多層列表頁的方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持錯新站長站。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 漠河县| 太仆寺旗| 东方市| 固安县| 社会| 寻乌县| 台山市| 延吉市| 蕉岭县| 福海县| 清苑县| 星子县| 南澳县| 松阳县| 博客| 湘潭县| 香港| 乃东县| 宣汉县| 西林县| 杨浦区| 镇沅| 临湘市| 布拖县| 拜城县| 赤壁市| 冷水江市| 应城市| 东兰县| 许昌市| 沂南县| 辉南县| 香港| 东光县| 紫金县| 水富县| 开封市| 孝感市| 安阳县| 乌兰浩特市| 临漳县|