Vue 单页面应用 把公共组件放在 app.vue 但是我希望某个页面没有这些公共组件怎么办(比如登陆页面)每个页面都有 导航栏 但是我希望 登陆页面只有一个背景色和一个登陆框 没有导航栏 那应该怎样设置呢?

vue中文文档:https://router.vuejs.org/zh/guide/essentials/dynamic-matching.html#%E5%93%8D%E5%BA%94%E8%B7%AF%E7%94%B1%E5%8F%82%E6%95%B0%E7%9A%84%E5%8F%98%E5%8C%96

在根组件中:在导航栏使用v-show判断当前路由是否是不需要的组件来完成页面:

<template>
    <div id="app">
        <home-header v-show="!(path ==='/') "></home-header>
        <home-aside v-show="!(path ==='/')"></home-aside>
        <router-view/>
    </div>
</template>
 
<script>
    import HomeHeader from './components/header/Header'
    import HomeAside from './components/aside/Aside'
    export default {
        name: 'App',
        data(){
            return{
                path:''
            }
        },
        components: {
            HomeHeader,
            HomeAside,
        },
        // 判断路由
        mounted() {
          this.path = this.$route.path;
          // console.log(this.$route.path)
        },
        watch:{
            $route(to,from){
                this.path = to.path
            }
        }
    }
</script>
<style>
</style>


在mounted(){}中使用this.path=当前页面的路由然后使用watch监测变化
————————————————
版权声明:本文为CSDN博主「让我看看谁在学习」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_42545184/article/details/89311666

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐