未登录时如何删除全局侧边栏(vuetify)

Posted

技术标签:

【中文标题】未登录时如何删除全局侧边栏(vuetify)【英文标题】:How to remove global sidebar when not logged in (vuetify) 【发布时间】:2021-04-14 05:58:57 【问题描述】:

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

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

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

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

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

感谢您的回答。

【问题讨论】:

【参考方案1】:

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

如果用户没有登录并且你想隐藏,试试这个:

<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'])
    ,

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

【讨论】:

以上是关于未登录时如何删除全局侧边栏(vuetify)的主要内容,如果未能解决你的问题,请参考以下文章

如何在用户注销时隐藏侧边栏并在用户登录时显示侧边栏?

如何在 React 中登录页面后配置侧边栏导航中的路由?

如何从登录页面隐藏标题和侧边栏并在登录后显示

如何实现像 spotify 这样的侧边栏菜单?

vue项目侧边栏二级菜单只有一个时父级菜单不显示的问题

Woocommerce。如何删除侧边栏