壹壹得贰ぺ 2023-02-13 08:38 采纳率: 81.1%
浏览 255
已结题

登录成功以后,点击页面刷新,会回到登录页面

一个后台管理,登录成功以后,点击页面刷新,会回到登录页面,这个怎么解决?

  • 写回答

9条回答 默认 最新

  • CodeBytes 2023-02-13 09:24
    关注

    该回答引用ChatGPT
    可以使用 Vuex 进行状态管理来解决这个问题。Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。它可以让您在整个应用程序中共享和管理状态。

    当登录成功时,将登录状态存储在 Vuex 中。当页面刷新时,可以从 Vuex 中读取登录状态,以判断用户是否已经登录。如果用户已经登录,则将其重定向到相应的页面;如果用户未登录,则将其重定向到登录页面。

    这样,就可以解决页面刷新后回到登录页面的问题。

    以下是一个简单的示例:

    // store.js
    import Vue from 'vue'
    import Vuex from 'vuex'
    
    Vue.use(Vuex)
    
    export default new Vuex.Store({
      state: {
        isLoggedIn: false
      },
      mutations: {
        setLoginStatus (state, status) {
          state.isLoggedIn = status
        }
      }
    })
    
    
    
    // main.js
    import Vue from 'vue'
    import App from './App.vue'
    import store from './store'
    
    Vue.config.productionTip = false
    
    new Vue({
      store,
      render: h => h(App)
    }).$mount('#app')
    
    
    
    // App.vue
    <template>
      <div id="app">
        <router-view />
      </div>
    </template>
    
    <script>
    import { mapState } from 'vuex'
    
    export default {
      computed: {
        ...mapState({
          isLoggedIn: state => state.isLoggedIn
        })
      },
      beforeCreate () {
        if (!this.isLoggedIn) {
          this.$router.push('/login')
        }
      }
    }
    </script>
    
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(8条)

报告相同问题?

问题事件

  • 系统已结题 2月21日
  • 已采纳回答 2月13日
  • 创建了问题 2月13日