推荐一个摸手的大神:

https://github.com/PanJiaChen/vue-element-admin

思路:

在点击跳转时,记录路由信息到state的一个数组里,

这个数组的数据被拿来渲染tagview,

同时对路由渲染处的router-view进行缓存(<keep-alive>)

剩下的就是对state路由数组的操作。

贴上关键代码

home.vue

<template>
	<el-container class="box">
		<el-aside class="lef_nav_box" width="200px">
			<leftNav></leftNav>
		</el-aside>
		<el-container>
			<el-header>
				<topHeader></topHeader>
			</el-header>
			<el-main v-if='isHome'>主页哟</el-main>
			<el-main v-if='!isHome'>
				<crumbs class="mb20"></crumbs>
				<tagViews></tagViews>
				<keep-alive>     
			    	<router-view v-if="$route.meta.keepAlive"></router-view>
			   </keep-alive> 
    			 <router-view v-if="!$route.meta.keepAlive"></router-view>
			</el-main>
			<el-footer>Footer</el-footer>
		</el-container>
	</el-container>
</template>

  

export default {
        components: {
            HelloWorld,
            leftNav,
            topHeader,
            tabNav,
            tagViews,
            crumbs
        },
        data(){
            return {
                isHome:true
            }
        },
        created(){
            this.routeIsHome();
        },
        methods:{
            routeIsHome(){//首页判断
                let self = this;
                let isHome = true;
                if(this.$route.meta.pageName =='首页' && this.$route.meta.parentPageName ==''){
                    isHome = true
                }else{
                    isHome = false;
                }
                this.$nextTick(()=>{
                    self.isHome = isHome;
                })
            }
        },
        watch: {
            '$route' (to, from) {
                let self = this;
                let isHome = true;
                if(to.meta.pageName =='首页' && to.meta.parentPageName ==''){
                    isHome = true;
                }else{
                    isHome = false;
                }
                this.$nextTick(()=>{
                    self.isHome = isHome;
                })
            }
        }
    }
View Code

 

相关文章:

  • 2021-12-04
  • 2021-11-29
  • 2021-04-21
  • 2021-07-18
  • 2021-09-10
  • 2021-11-15
猜你喜欢
  • 2021-07-23
  • 2022-12-23
  • 2021-04-29
  • 2022-12-23
  • 2022-12-23
  • 2021-12-04
相关资源
相似解决方案