quasar $store.auth 的 vuex 错误未定义
Posted
技术标签:
【中文标题】quasar $store.auth 的 vuex 错误未定义【英文标题】:vuex error with quasar $store.auth is undefined 【发布时间】:2022-01-10 09:01:48 【问题描述】:我正在尝试将 vuex 与 Quasar 一起使用。我创建了一个如下的身份验证模块。
// src/store/auth/index.js
import api from 'boot/axios';
export default
state:
user: null,
,
getters:
isAuthenticated: state => !!state.user,
StateUser: state => state.user,
,
mutations:
setUser(state, username)
state.user = username
,
LogOut(state)
state.user = null
,
,
actions:
LOGIN: ( commit , payload) =>
return new Promise((resolve, reject) =>
api
.post(`/api/login`, payload)
.then(( data, status ) =>
if (status === 200)
commit('setUser', data.refresh_token)
resolve(true);
)
.catch(error =>
reject(error);
);
);
,
我在商店里导入的
// src/store/index.js
import store from 'quasar/wrappers'
import createStore from 'vuex'
import auth from './auth'
export default store(function (/* s-s-rContext */)
const Store = createStore(
modules:
auth:auth
,
// enable strict mode (adds overhead!)
// for dev mode and --debug builds only
strict: process.env.DEBUGGING
)
return Store
)
我将它导入 MainLayout 以检查用户是否已登录。
// src/layouts/MainLayout
<template>
</template>
<script>
import ref, onMounted from 'vue'
import packageInfo from '../../package.json'
import useStore from 'vuex'
export default
name: 'MainLayout',
setup ()
const $store = useStore;
const connected = ref(false);
function checkLogin()
//console.log($store)
return connected.value = $store.auth.isAuthenticated
;
onMounted(()=>
checkLogin();
);
return
appName: packageInfo.productName,
link:ref('dashboard'),
drawer: ref(false),
miniState: ref(true),
checkLogin,
</script>
但每次,我都会得到同样的错误:
$store.auth 未定义
我尝试按照类星体文档进行操作,但我做不到。谁能告诉我我做错了什么?
谢谢。
【问题讨论】:
【参考方案1】:有人帮我找到了解决方案。我的错误是写了const $store = useStore
而不是const $store = useStore()
。谢谢
【讨论】:
以上是关于quasar $store.auth 的 vuex 错误未定义的主要内容,如果未能解决你的问题,请参考以下文章
为啥 vuex 在 Quasar App 中返回对象而不是数组?
如何使用 Quasar 框架访问 Vuex 存储模块操作中的 Vue 路由器?