zoukankan      html  css  js  c++  java
  • Vuex实践

    Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。Vuex 可以帮助我们管理共享状态。

     

    State  :   唯一数据源,定义的变量都在这里面

    Getter :  从State中派生出来一些状态(可以认为getter是store的计算属性),只有当它的依赖被改变时才会触发

    Mutation:  更改store中状态的唯一方法,Mutation必须是同步函数

    Actions : Actions类似于Mutation。不同点:Actions提交的是Mutation,而不是直接更改状态,Actions可以包含任何异步操作

    目录结构:

     homeInfo.js文件内容

     1 const state = {
     2   homeInfoData: ''
     3 };
     4 const getters = {
     5   homeInfoDataMap (state) {
     6     return state.homeInfoData;
     7   }
     8 }
     9 
    10 const mutations = {
    11   updateHomeInfoData (state, payload) {
    12     console.log('payload', payload);
    13     state.homeInfoData = payload;
    14   }
    15 };
    16 
    17 const actions = {
    18   updateHomeInfoData ({commit, state}, usersInfo) {
    19     commit('updateHomeInfoData', usersInfo)
    20   }
    21 }
    22 export default {
    23   namespaced: true,
    24   state,
    25   getters,
    26   mutations,
    27   actions
    28 }

    index.js文件内容

     1 import Vue from 'vue'
     2 import Vuex from 'vuex'
     3 // import createPersistedState from 'vuex-persistedstate'; //持久化数据状态,防止刷新vuex数据丢失
     4 import homeInfo from '@/store/modules/homeInfo.js'
     5 Vue.use(Vuex);
     6 
     7 export default new Vuex.Store({
     8   modules: {
     9     homeInfo
    10   }
    11   // plugins: [createPersistedState()],
    12 })

    vueX数据的读取和赋值

    1 import { mapActions } from 'vuex';
    2 
    3 methods: {
    4     ...mapActions('homeInfo', ['updateHomeInfoData']),
    5     clickBtn () {
    6       this.updateHomeInfoData('update'); // 更新数据
    7       console.log('homeInfoData', this.$store.state.homeInfo.homeInfoData)
    8     }
    9   }
  • 相关阅读:
    中断和异常
    MATLAB总结二
    关于在写第一个模式识别大作业中遇到的几个问题的总结
    学习QT——GUI的基础用法(2)
    Matlab练习——rpy2tr函数与自己实现的ZYX欧拉角的结果不同的问题
    PHP之文件的锁定、上传与下载
    PHP之文件目录基础操作
    PHP之会话控制小结
    PHP之curl
    PHP之数组函数归类
  • 原文地址:https://www.cnblogs.com/Li--gm/p/12787391.html
Copyright © 2011-2022 走看看