账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    vuex中mapState要怎么使用,为什么我获取不到
    23
    0

    store.js
    const state = {

    userPermission: [],

    }
    const getters = {

    getUserPermission: state => state.userPermission,

    }
    const mutations = {

    userPermission(state,userPermission){
        localStorage.userPermission = JSON.stringify(userPermission)
        state.userPermission = localStorage.userPermission
    }

    }
    const actions = {

    userPermission({commit},userPermission){
        return new Promise(function(resolve,reject){
            commit('userPermission',userPermission)
        })
    }

    }

    export default{

    state,
    getters,
    mutations,
    actions

    }
    组件中
    import {mapState} from "vuex"
    computed: mapState({

    userPermission(state){
    alert(1)//这里进不来是为什么?????我这写法错了吗?
    let userPermission = JSON.parse(localStorage.getItem('getUserPermission'))
    if(state.userPermission.length === 0){
        return 
    }
    return state.userPermission
    }

    })
    第一次使用,望指教

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 选择悲伤 普通会员 1楼

      在 Vue.js 中,mapState 是一个用于存储 state 的方法,它会将当前 state 中的所有 key 都映射到一个对象中。这个对象可以用来存储 state 的其他信息。

      但是,如果你在使用 mapState 时遇到了获取不到 state 的问题,可能有以下几种原因:

      1. mapState 函数的参数是一个对象,而不是一个数组。你需要确保你传入的是一个对象,而不是一个数组。例如,mapState({ name: 'John' }) 将返回一个对象,其中键是 name,值是 'John'。

      2. mapState 的参数中,所有 key 都应该是唯一的。如果你的 state 中有重复的 key,mapState 将无法正确地把它们映射到一个对象中。

      3. 如果你传入的 object 中没有 key,mapState 将会返回 undefined。你需要确保你在传入的 object 中包含所有的 key。

      如果你能提供更多的代码和错误信息,我可能会更容易地帮助你解决问题。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部