Vue3实现页面缓存,切换tab页面保持不变

实现该部分主要分为两个步骤。

首先是在index.js中,将跳转的路由设置如下:

{
    path: "control",
    name: "Control",
    component: () => import("../page/Control.vue"),
    meta:{
        keepAlive: true //此页面需要缓存
    }
},

如果该页面需要缓存,添加以下代码,否则设置为false

meta:{
    keepAlive: true //此页面需要缓存
}

随后在主页面中,找到你跳转路由的地方,我的主页面是MainLayout.vue,是在el-pane后面进行跳转的,原本如下:

<el-tab-pane
v-for="item in editableTabs"
:key="item.index"
:label="item.title"
:name="item.index"
:closable="handleisClose(item)"
></el-tab-pane>

<router-view />

 修改为以下即可

<el-tab-pane
v-for="item in editableTabs"
:key="item.index"
:label="item.title"
:name="item.index"
:closable="handleisClose(item)"
></el-tab-pane>

<router-view v-slot="{ Component }">
    <keep-alive>
        <component :is="Component" />
    </keep-alive>
</router-view>

以上便完成了tab页面缓存的功能,欢迎大家多多点赞收藏

  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Vue 3实现登录注册切换tab可以使用Vue Router和Vue的数据绑定机制来实现。 首先,需要安装和配置Vue Router。在项目中安装Vue Router,并在main.js文件中导入和使用Vue Router。 ``` // main.js import { createApp } from 'vue' import App from './App.vue' import router from './router' createApp(App).use(router).mount('#app') ``` 接下来,需要创建登录和注册组件。可以分别创建Login.vue和Register.vue组件。 ``` // Login.vue <template> <div> <h2>登录</h2> <!-- 登录表单 --> </div> </template> <script> export default { name: 'Login', } </script> ``` ``` // Register.vue <template> <div> <h2>注册</h2> <!-- 注册表单 --> </div> </template> <script> export default { name: 'Register', } </script> ``` 然后,在App.vue组件中创建导航菜单和切换tab的功能。使用Vue的数据绑定机制来切换tab。 ``` // App.vue <template> <div> <nav> <ul> <li @click="activeTab = 'login'" :class="{ active: activeTab === 'login' }">登录</li> <li @click="activeTab = 'register'" :class="{ active: activeTab === 'register' }">注册</li> </ul> </nav> <router-view :tab="activeTab" /> </div> </template> <script> export default { name: 'App', data() { return { activeTab: 'login', } }, } </script> ``` 最后,在router.js文件中配置路由。 ``` // router.js import { createRouter, createWebHistory } from 'vue-router' import Login from './Login.vue' import Register from './Register.vue' const routes = [ { path: '/login', component: Login, }, { path: '/register', component: Register, }, ] const router = createRouter({ history: createWebHistory(), routes, }) export default router ``` 完成以上步骤后,就可以根据点击导航菜单来切换登录和注册页面tab了。点击导航菜单时,会触发activeTab的值改变,从而切换显示的组件。同时,Vue Router会根据路由的配置来加载相应的组件,实现路由切换的效果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值