• vuex笔记


    vuex是一个专门为vue.js应用程序开发的状态管理模式。即data中属性同时有一个或几个组件同时使用,就是data中共用的属性。

    安装vuex

    知识点

    import Vue from 'vue'
    import Vuex from 'vuex'
    Vue.use(Vuex)
    
    const state = {
         count: 44               
    }
    const getters = {
      count:function(state){
        return state.count += 100;
      }
    }
    const mutations = {
        jia(state,n){
              state.count += n; 
        },
        jian(state){
            state.count--
        }
    }    
    const actions = {
      jiaplus(context){  // context 整个Store
        context.commit('jia',{a:1});
        setTimeout(()=>{
          context.commit('jian');
        },3000);
        console.log('我先被执行了!');
      },
      jianplus({commit}){
        commit('jian');
      }
    }
    export default new Vuex.Store({
        state,
       getters,
        mutations,
      actions
    })

    1. State

    访问状态对象:常量,数字,不变的

    $store.state.count;
    import {mapState} from 'vuex';
    export default{
      computed:mapState(["count"])
    } 

    2.Getters

    计算属性

    import {mapState,mapGetters} from vuex
    export default{
      computed:{
        ...mapState(['count']),
        //count(){
        //  return this.$store.getters.count
        //}
        ...mapGetters(['count'])
      }
    }  

     3.Mutations

    方法对象,触发状态。 

    import {mapMutations} from 'vuex';
    export default{
      methods:mapMutations([
        'jia',
        'jian'  
      ])
    }
    <button @click="$store.commit('jia',10)">+</button>  //commit 触发方法
    <button @click="jian">-</button>  

     4.Actions

    异步触发状态

    import {mapState,mapMutations,mapActions} from 'vuex';
    export default{
      computed:{
        ...mapState(['count'])
      },
      methods:{
        ...mapMutations(['jian','jia']),
        ...mapActions(['jiaplus']),
        ...mapActions({jianplus:'jianplus'})
      }    
    }
    <button @click="jiaplus">+</button>
    <button @click="jianplus">-</button>

     5.module

      

    参考

    Vuex学习笔记(-)安装vuex: https://www.cnblogs.com/chengkun101/p/7979153.html

  • 相关阅读:
    十个MySQL常用函数
    写给三十岁的自己
    EJS 模板引擎
    发送HTTP请求(GET,POST)
    路由模块化
    原生NodeJS封装Express路由
    Hook简介
    State Hook (useState)
    Effect hooks
    useContext
  • 原文地址:https://www.cnblogs.com/kongge/p/9429007.html
Copyright © 2020-2023  润新知