export default { namespaced: true, state: { token: "", }, actions: { handSetToken({ commit }, token) { commit("setToken", token); }, }, mutations: { setToken(state, token) { state.token = token; }, }, getters: { getToken(state) { return state.token; }, }, };
namespaced 一旦設為 true,在使用時就要加上模組名稱,如「Auth/xxxx」
namespaced
Auth/
store.dispatch("Auth/handSetToken", "Acbz1x3WQw4eq9qilpFjregn"); console.log("TOKEN =>", store.getters["Auth/getToken"]);
import { createStore } from "vuex"; import state from "./state.js"; import actions from "./actions.js"; import mutations from "./mutations.js"; import getters from "./getters.js"; import Auth from "./Auth"; export default createStore({ state, actions, mutations, getters, modules: { Auth, }, });
<script> import { onMounted } from "vue"; import { useStore } from "vuex"; export default { setup() { const store = useStore(); onMounted(() => { store.dispatch("Auth/handSetToken", "Acbz1x3WQw4eq9qilpFjregn"); console.log("TOKEN =>", store.getters["Auth/getToken"]); }); return {}; }, }; </script>
進階搜尋