• vue3 添加 vuex


      

      首先npm install vuex --save引入vuex

       src/store/index.js

    import { createStore } from 'vuex'
    import getters from './getters'
    import app from "./modules/app"
    
    
    export default createStore({
        getters,
        modules:{
            app
        }
    })

      在store中新建文件getters.js

    const getters = {
        number: state => state.app.number,
      }
    export default getters

      在store中新建文件夹modules

      在新建的文件夹modules新建文件app.js

    const state = reactive({
      number:'123'
    })
    
    const mutations = {
      SET_NUMBER: (state, number) => {
        state.number = number
      }
    }
    
    const actions = {
      setNumber({ commit }, number) {
        commit('SET_NUMBER', number)
      },
      // 前端 登出
      FedLogOut({ commit }) {
        return new Promise(resolve => {
          commit('SET_TOKEN', '')
          commit('SET_USER', {})
          commit('SET_USER_SETTING', {})
          commit('SET_FAMILY_LIST_INFO', [])
          commit('SET_FAMILY_NO_TO_JOIN_LIST_INFO', [])
          familyListLocal.delFamilyList()
          familyLocal.delFamily()
          removeToken()
          removeUser()
          removeUserSetting()
          removeRememberUser()
          resolve()
        })
      },
     
       //获取用户信息
      getUserInfo({ commit },user) {
        return new Promise((resolve, reject) => {
          getAppUserInfo().then(res => {
            setRememberUser({
              uid: res.data.userInfo.uId,
              password: user.password,
              countryCode: res.data.userInfo.countryCode
            })
            commit("SET_USER", res.data.userInfo)
            commit("SET_USER_SETTING", res.data.userSetInfo)
            setUser(res.data.userInfo)
            setUserSetting(res.data.userSetInfo)
            resolve()
          }).catch(error => {
            reject(error)
          })
        })
      },
    
    }
    
    export default {
      namespaced: true,
      state,
      mutations,
      actions
    }

      在main.js文件中引入index.js

    import store from './store'
    const app = createApp(App)
                .use(store)

      使用vuex

    调用app.js中  actions中的方法

    store.dispatch('app/setNumber')

     store.dispatch("app/FedLogOut").then(()=>{
         window.location.reload("/login")
      })
     
      
     store.dispatch('user/getUserInfo', {参数对象吧啦吧啦})
     
  • 相关阅读:
    Java容器化参数配置最佳实践
    24 个 Docker 常见问题处理技巧
    在 CentOS 8 上使用 FirewallD 设置防火墙
    100个Linux Shell脚本经典案例(附PDF)
    使用 Dockerfile 的一些最佳实践
    Kubernetes 配置管理
    Kubernetes 版本升级之路
    重新安装kuboard后,原先配置的CI/CD命令都没了,需要重新创建
    Kubernetes 上部署应用 以Wordpress 为例
    Kubernetes 调度 污点和容忍度详解
  • 原文地址:https://www.cnblogs.com/dandanyajin/p/16543607.html
Copyright © 2020-2023  润新知