vuejs同一个路由下面、切换标签。实现缓存前进后退功能

我这里用的是:element ui的el-tabs组件。默认的是选中【热门】
这4个标签是写在一个页面里面的。所以我的路由都是同一个。所以在切换标签的时候。路由是不会变的。

我目前想实现的需求就是:
在点击下面的列表详情之后。
后退的时候。
不要每次都默认跳转到【热门】标签。

比如:
现在是点的【问题】标签下面的问题。
那后退的时候。标签选中的也是【问题】。
而不是默认标签、

请问解决思路是怎么样的呢?

如图:

回答

1.使用keep-alive缓存当前页面;
2.使用sessionStorage缓存 tabs的标记,返回重新赋值;
两种都可

已解决:
image.png

data:
activeName: localStorage.getItem('activeName'),

`created() {
localStorage.setItem('activeName','hotTopic')
},`
js:
`handleClick(tab, event) {
// console.log(tab, event);
console.log(tab.paneName);
if (tab.paneName==='question'){

localStorage.setItem('activeName','question')  

}else if (tab.paneName==='topicVideo'){

localStorage.setItem('activeName','topicVideo')  

}else if (tab.paneName==='information'){

localStorage.setItem('activeName','information')  

}else{

localStorage.setItem('activeName','hotTopic')  

}
console.log(localStorage.getItem('activeName'))
},`

个人觉得比较好的是更改路由参数,比如页面路由是/list,那么切换tab的同时修改query参数,即/list?tab=qustion
jsbin-demo

以上是 vuejs同一个路由下面、切换标签。实现缓存前进后退功能 的全部内容, 来源链接: utcz.com/a/42605.html

回到顶部