zoukankan      html  css  js  c++  java
  • 25、vuex改变store中数据

    以登录为例:

    1、安装vuex:npm install vuex --save

    2、在main.js文件中引入:

    import store from '@/store/index.js'
    new
    Vue({ router, store, render: h => h(App) }).$mount('#app')

    3、在src文件目录下新建一个名为store的文件夹,为方便引入并在store文件夹里新建一个index.js,里面的内容如下:import Vue from 'vue'import Vuex from 'vuex'Vue.use(Vuex)

    
    export default new Vuex.Store({
        state: {
            Token: '',
    userName:'' },
    //假设需要在state.userName基础上派生出一个新的状态newUserName出来,就适合使用getters
    getters:{ newUserName:state => “Hello”+state.userName}
    //同步方法 mutations: { SET_TOKEN(state, params) { // console.log(params.Token, params.userNo); state.Token = params.Token;
    state.
    userName=params.userName;
          }
    },
        // 异步方法
    actions:{

               SET(context,Object) {
                  //处理异步操作
                 context.commit('SET_TOKEN',Object)
           }

       }

     })

    3、在登录页面派发事件:

    // 同步 this.$store.commit("SET_TOKEN", payload); // payload 为参数
    //异步 this.$store.dispatch('SET',payload)
     
    4、在其他页面获取state中的共享数据:
    import { mapState,mapGetters } from "vuex";
    computed: {
      ...mapState({
         userName: state => state.userName,
      })
     // ...mapGetters(["news"])
    },
     
    在页面dom中引入:{{userName}}
    在methods中调用:this.userName
  • 相关阅读:
    pip的认识
    java动态代理
    hadoop集群环境配置成功与否查看方法
    input输入框只能输入数字、字母相关组合
    ASP.NET Core MVC上传、导入、导出知多少
    MQTT
    高德地图
    油猴脚本
    excel中001如何输入
    WebPageBase.IsSectionDefined(String) 方法
  • 原文地址:https://www.cnblogs.com/xlfdqf/p/11238727.html
Copyright © 2011-2022 走看看