首页 > 其他 > 详细

vuex笔记

时间:2018-08-06 10:55:06      阅读:167      评论:0      收藏:0      [点我收藏+]

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

 

vuex笔记

原文:https://www.cnblogs.com/kongge/p/9429007.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!