万物不为我所有,但为我所用|

注入灵魂

园龄:3年7个月粉丝:3关注:2

📂Vue
🔖Vue
2022-11-02 17:19阅读: 384评论: 0推荐: 0

页签切换不刷新页面

问题

在使用elementUI时,顶部的标签页切换都会对页面进行刷新,这样页面内部的页码、页面大小等一系列状态就会被重新加载,无法保留原来的状态

一般都会邮箱想到使用Vuex来保存状态,但是保留像页码、页面大小这样不太重要的状态,外加上每个页面都加,使用Vuex写起来就会显得非常的繁琐

所以,在不太在意性能的情况下,保持不太重要的状态,我们可以使用包裹我们的页面组件,使其编写起来更加轻松

原理

当引入keep-alive的时候,页面第一次进入,钩子的触发顺序created-> mounted-> activated,退出时触发deactivated。当再次进入(前进或者后退)时,只触发activated

所以可以对只加载一次且需要保留状态的操作放在created和mounted中,而需要频繁更新(包括页签切换就更新,比如:任务的执行状态)的放在activated中

操作

<keep-alive>
<router-view :key="key" />
</keep-alive>

注意页面组件的name要和路由的name一致

// 路由的name
export default{
name: 'targetPage',
components: {...}
}
// 页面组件的name
{
name:'targetPage',
data(){...},
methods:{...}
}

本文作者:注入灵魂

本文链接:https://www.cnblogs.com/totopian/p/16851719.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   注入灵魂  阅读(384)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起
  1. 1 尚好的青春 孙燕姿
尚好的青春 - 孙燕姿
00:00 / 00:00
An audio error has occurred.