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
  • 相关阅读:
    Ubuntu18.04+CUDA+CUDNN+Pytorch环境配置
    VIM入门必读(转)
    简述C和C++的学习历程(转)
    队列
    排序实现
    十进制转二进制
    北邮1467二叉树题引起的思考
    计算机是如何启动的?
    c语言字符串操作实现
    北邮机试——huffman权值问题
  • 原文地址:https://www.cnblogs.com/xlfdqf/p/11238727.html
Copyright © 2011-2022 走看看