zoukankan      html  css  js  c++  java
  • vuex namespaced的作用以及使用方式

    vuex中的store分模块管理,需要在store的index.js中引入各个模块,为了解决不同模块命名冲突的问题,将不同模块的namespaced:true,之后在不同页面中引入getter、actions、mutations时,需要加上所属的模块名

    1、声明分模块的store时加上namespaced:true

     1 // initial state
     2 const state = {
     3 userId:'',//用户id
     4 userName:'',//用户名称
     5 token:'',//token
     6 permission:''//权限
     7 }
     8 
     9 // getters
    10 const getters = {
    11 // 获取用户信息
    12 getUserInfo(){
    13 return state;
    14 }
    15 }
    16 
    17 // actions
    18 const actions = {}
    19 
    20 // mutations
    21 const mutations = {
    22 setUserInfo(state,payload) {
    23 console.log("payload:"+payload);
    24 console.info(payload);
    25 state.userId = payload.userId;
    26 state.userName = payload.userName;
    27 state.token = payload.token;
    28 state.permission = payload.permission;
    29 }
    30 }
    31 
    32 export default {
    33 namespaced: true,
    34 state,
    35 getters,
    36 actions,
    37 mutations
    38 }


    2、使用模块中的mutations、getters、actions时候,要加上模块名,例如使用commint执行mutations时

    格式:模块名/模块中的mutations

    xxx/setUserInfo

     1 this.$store.commit("userInfo/setUserInfo",userInfo) 
    3、获取属性时同样加上模块名

    格式:store.state.模块名.模块属性

     1 $store.state.userInfo.userName 

    原文链接:https://blog.csdn.net/fuck487/article/details/83411856

  • 相关阅读:
    UML建模图
    Ubuntu选择软件源
    用于主题检测的临时日志(c5ac07a5-5dab-45d9-8dc2-a3b27be6e507
    【Android】不弹root请求框检测手机是否root
    android开机动画(bootanimation)
    UniversalImageLoader(异步加载大量图片)
    PHP字符串
    Android获取本机号码及运营商
    静态代码块、构造代码块、构造方法
    Android来电拦截及来电转移
  • 原文地址:https://www.cnblogs.com/junjun-001/p/12546023.html
Copyright © 2011-2022 走看看