日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > vue >内容正文

vue

vuex的命名空间有哪些_Vuex在vue路由器中访问命名空间模块的getter

發布時間:2023/12/20 vue 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 vuex的命名空间有哪些_Vuex在vue路由器中访问命名空间模块的getter 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

我試圖通過檢查用戶是否經過身份驗證來保護我的路由,這是示例路由:

{

path: '/intranet',

component: search,

meta: { requiresAuth: true },

props: {

tax: 'type',

term: 'intranet-post',

name: 'Intranet'

}

},

我正在這樣設置警衛:

router.beforeEach((to, from, next) => {

if (to.matched.some(record => record.meta.requiresAuth)) {

let authenticated = this.$store.getters['auth/getAuthenticated'];

if (!authenticated) {

next({

path: '/login',

query: { redirect: to.fullPath }

})

} else {

next()

}

} else {

next()

}

})

這是auth的vuex模塊:

import Vue from "vue";

export default {

namespaced: true,

state: {

authenticated: !!localStorage.getItem("token"),

token: localStorage.getItem("token")

},

mutations: {

login: function(state, token){

state.authenticated = true;

state.token = token;

},

logout: function(state){

state.authenticated = false;

state.token = '';

}

},

actions: {

login: function({commit}, token){

localStorage.setItem('token', token);

commit('login', token);

},

logout: function({commit}){

localStorage.removeItem("token");

commit('logout');

}

},

getters: {

getToken: (state) => state.token,

getAuthenticated: (state) => state.authenticated,

}

}

但是,當我嘗試訪問auth getter時,就像路由防護中顯示的那樣,我收到一個錯誤:

無法讀取未定義的屬性'getters'

我做錯了什么,我該如何解決這個問題?

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的vuex的命名空间有哪些_Vuex在vue路由器中访问命名空间模块的getter的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。