简单的Vuex练习的dome

    先通过vue-cli快速搭建项目,再通过npm install 安装vue运行安装包的依赖。

在通过npm install vuex -save安装vuex,安装成功后在src里面创建state文件夹在里面创建store.js文件。

import Vue from 'vue'
import Vuex from 'vuex'
Vue.use(Vuex)
const store = new Vuex.Store({
  state: {
    count: 1// 存放组件之间共享的数据
  },
  mutations: {
    increase (state) {
      state.count++
    },
    jianshao (state) {
      state.count--
    }
  },
  actions: {
    addjia ({commit}) {
      commit('increase')
    },
    addjian ({commit}) {
      commit('jianshao')
    }
  }
})
export default store
/**
* mutations改变state里面的状态也就是值
* actions里面的相当于commit触发的一个方法,将mutations里面的increase方法放到commit里面在组件中调用
* * */

在main.js里面注册;

import Vue from 'vue'
import App from './App'
import router from './router'
import Vuex from 'vuex'
import store from './store/store.js'
Vue.config.productionTip = false
Vue.use(Vuex)
new Vue({
  el: '#app',
  router,
  store,
  template: '<App/>',
  components: { App }
})

然后在自己创建一个vue文件,

html添加两个按钮;

<span>{{count}}</span>
<button @click="add">增加数值</button>
<button @click="addjian">减少数值</button>

js里面写;

<script>

export default {
  name: 'hello',
  data () {
    return {
      msg: 'Welcome to Your Vue.js App'
    }
  },
  computed: {
    count () {
      return this.$store.state.count
    }
  },
  methods: {
    add () {
      this.$store.dispatch('addjia')
    },
    addjian () {
      this.$store.dispatch('addjian')
    }
  }
}
/**
 * computed里面调用count起到显示的作用
 * methods里面调用绑定的点击事件再通过this.$store.dispatch('addjia')调用store.js文件里面addjia方法通过里面的commit触发increase
 * */
</script>
然后运行就可以实现简单的加减
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值