VUE-VUEX的使用

  • 安装vuex
npm install vuex --save / cnpm install vuex --save
  • 在store.js页面引入
import Vue from 'vue'
import Vuex from 'vuex'
Vue.use(Vuex)
  • 定义数据
// 1.state 表示状态 用于存储数据
var state = {
    count:1
}
// 2.mutations里面放的是方法,主要用于改变state里面的数据
var mutations = {
    addNum(){
        ++state.count;
    }
}
// 3.类似计算属性 改变state里面的count数据的时候 会触发getters里面的方法 获取新的值
var getters = {
    computedCount:(state)=>{
        return state.count*2
    }
}
//  4.action 提交的是mutation,而不是直接变更状态,包含任意的异步操作
var actions ={
    addMutationsCount(context){ // 调用context.commit 提交一个mutation
        context.commit('addNum') // 执行mutations里面的 addNum方法 改变state里面的数据
    }
}
  • 暴露 vuex 实例化
const  store = new Vuex.Store({
    state,
    mutations,
    getters,
    actions
})
export default store;
  • 组件内使用
import store from '../vuex/store.js'
  • 注册
export default {
  name: "Home",
  data() {
    return {
      msg: "你好",
    }
  },
  store,
  methods: {
    addCount(){
      // 改变vuex store里面的数据
      this.$store.commit('addNum') // 触发state里面的数据
    }
  }
};
  • 获取state里面的数据
this.$store.state.count
  • 触发mutations 改变state里面的数据
this.$store.commit('addNum') // 触发state里面的数据
  • 触发actions里面的方法
this.$store.dispatch('addMutationsCount') 
  • 获取getters里面的数据
this.$store.getters.computedCount

好了,今天的分享就到这里了!
愿你三冬暖,愿你春不寒;愿你天黑有灯,下雨有伞。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 安装 npm npm install vuex --save 在一个模块化的打包系统中,您必须显式地通过Vue.u...
    萧玄辞阅读 2,963评论 0 7
  • vuex 场景重现:一个用户在注册页面注册了手机号码,跳转到登录页面也想拿到这个手机号码,你可以通过vue的组件化...
    sunny519111阅读 8,035评论 4 111
  • 配置 vuex 和 vuex 本地持久化 目录 vuex是什么 vuex 的五个核心概念State 定义状态(变量...
    稻草人_9ac7阅读 900评论 0 5
  • 在组件内可以通过data属性共享数据,父子组件也可以通过props进行数据共享,但如果是兄弟跨组件之间的数据共享,...
    li4065阅读 3,969评论 1 4
  • 那如何获取到state的数据呢? 一般会在组件的计算属性(computed)获取state的数据(因为,计算属性会...
    qiaoguoxing阅读 103评论 0 0