时间:2021-07-01 10:21:17 帮助过:8人阅读
Action 提交的是 mutation,而不是直接变更状态. Action 是异步的,mutation是同步的。
沿用vuex学习---简介的案例:这里是加10 减1
1.在store.js 中 代码为:
import Vue from'vue' import Vuex from'vuex' //使用vuex模块 Vue.use(Vuex); //声明静态常量为4 const state = { count : 4 }; const mutations = { add(state,n){ state.count +=n.a; }, sub(state){ state.count--; } }; const actions = { //2种书写方式 addplus(context){//可以理解为代表了整个的context context.commit('add',{a:10}) }, subplus({commit}){ commit('sub'); } }; //导出一个模块 exportdefaultnewVuex.Store({ state, mutations, actions })
2.在App.vue中 代码如下:
<template> <p id="app"> <p id="appaaa"> <h1>这是vuex的示例</h1> <p>组件内部count{{count}}</p> <p> <button @click ="addplus">+</button> <button @click ="subplus">-</button> </p> </p> </p> </p> </template> <script> //引入mapGetters import {mapState,mapMutations,mapGetters,mapActions} from'vuex' exportdefault{ name:'app', data(){ return{ } }, computed:{ ...mapState([ "count" ]), }, methods:{ ...mapActions([ "addplus", "subplus" ]) } } </script> <style> </style>
相信看了本文案例你已经掌握了方法,更多精彩请关注Gxl网其它相关文章!
推荐阅读:
hammer.js实现移动端的图片手势放大功能
js发布者订阅者模式使用详解
页面内引入js有哪些方法
以上就是vuex+Actions使用详解的详细内容,更多请关注Gxl网其它相关文章!