首页 > 解决方案 > 未登录时如何删除全局侧边栏(vuetify)

问题描述

我想从登录和注册页面中删除我的侧边栏(菜单)。但是这个侧边栏是全局的,所以我不能只是隐藏它。侧边栏文件本身是否有办法检查用户是否像使用 cookie 一样连接?

我正在使用 vuex 和 vuetify 和路由器。

事实是我的侧边栏崩溃了,因为当用户请求中没有数据(未连接)时,侧边栏无法显示。

computed: {
      ...mapGetters(['getUserData']), //It's null when not logged in

我想在我做任何请求之前检查用户是否已连接,所以我应该从计算方法中删除 mapGetters 并稍后再做,不是吗?

感谢您的回答。

标签: vue.jsvuetify.jsvuexrouter

解决方案


据我了解,如果用户未登录,您希望隐藏某些组件、按钮或链接(无论您使用的是哪个)。

如果用户未登录并且您想隐藏,请尝试此操作:

<componentName v-if="!getUserData" />

我为已登录和未登录的用户使用两个侧边栏。

我的项目:

// Component File (filename.vue)
<template>
    <v-navigation-drawer v-if="user">
    //...
    </v-navigation-drawer>

    <v-navigation-drawer v-if="!user">
    //...
    </v-navigation-drawer>
</template>


computed: {
        ...mapGetters(['isLoggedIn']),
        ...mapGetters(['user'])
    },

我也在努力学习。我希望我的回答是正确的并且有效。


推荐阅读