問題描述A頁面有input框,輸入了之后,然后點(diǎn)擊查詢按鈕,展現(xiàn)的查詢結(jié)果為一個(gè)echart圖表折線圖,此時(shí)瀏覽器地址為/a,在echart圖表上有點(diǎn)擊事件,點(diǎn)擊后跳轉(zhuǎn)到B頁面,瀏覽器地址為/a/b?,F(xiàn)在點(diǎn)擊瀏覽器后退的箭頭,要回到/a頁面,并且要讓A頁面的圖表折線圖還存在。問題出現(xiàn)的環(huán)境背景及自己嘗試過哪些方法在router.js中A頁面的路由設(shè)置了meta的keepAlive為true相關(guān)代碼// 請(qǐng)把代碼文本粘貼到下方(請(qǐng)勿用圖片代替代碼)//A頁面router.js中的{ path: '/a', component: A, name: 'A', meta: { keepAlive: true } },// A.vue頁面的<template><keep-alive><div ...></div></keep-alive></template>//B頁面在methods之后,beforeRouteLeave (to, from, next) {to.meta.keepAlive = truenext()},你期待的結(jié)果是什么?實(shí)際看到的錯(cuò)誤信息又是什么?從B頁面回到A頁面時(shí)候,A頁面的echart表還存在
2 回答

冉冉說
TA貢獻(xiàn)1877條經(jīng)驗(yàn) 獲得超1個(gè)贊
<keep-alive v-if="route.meta.isAlive"> <router-view></router-view></keep-alive>

森欄
TA貢獻(xiàn)1810條經(jīng)驗(yàn) 獲得超5個(gè)贊
可以看看keepAlive的include、exclude屬性,比用v-if判斷是否緩存靈活許多。。
在vuex里加一個(gè)include數(shù)組,keepAlive的include屬性綁定此數(shù)組,A頁面的beforeRouteLeave里判斷to的頁面,如果to.path指向的是B頁面的path,include數(shù)組里添加B頁面組件的name,如果不是,include數(shù)組去掉B頁面組件的name
添加回答
舉報(bào)
0/150
提交
取消