Vue技能点--切换路由时保留页面状态

本文介绍了如何在Vue中使用keep-alive组件来保持路由页面的状态,避免在标签切换时丢失输入信息。通过将<router-view>包裹在<keep-alive>内并设置exclude属性,可以实现对特定页面状态的保留。同时,确保页面组件具有name属性,以确保状态能够正确保存。
摘要由CSDN通过智能技术生成

点此查看全部文字教程、视频教程、源代码

1. 场景

左侧是导航菜单,点击后可以打开多个页面,通过标签切换已打开的页面。

但是切换时,Vue路由默认地会重新加载每个路由页面,现在的需求就是想实现保留每个页面的状态,比如输入的文字,不在切换页面时丢失状态。

2. 解决方案

首先将<router-view通过<keep-alive>标签包裹起来,注意exclude="Dashboard"属性表示不保留状态的页面组件名称。

     	<keep-alive exclude="Dashboard">
          <router-link :to="item.path" class="tags-li-title">
            {{item.title}}
          </router-link>
        </keep-alive>

其次,需要为想保留状态的页面添加名称,如下该页面名称为AppForm且不是被排除的Dashboard,所以其状态可以保留。

export default {
  name: 'AppForm',
  data() {
    return {
    }
  }
}

最后,在我的测试中,如果不为组件添加name名称,则该组件页面状态将无法保留。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员大阳

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值