浅谈vuex的基本用法和mapaction传值问题

时间:2021-05-18

vuex的理论知识就不多提了,官网上已经有明确的讲解。

用一个简单的例子来描述一下基本的用法:

第一步:npm install vuex –save-dev

第二步:在目录中创建store目录配置管理状态

//store/index.js/** * Created by zhaohuan on 2017/7/13. */import Vue from 'vue'import Vuex from 'vuex';Vue.use(Vuex);const store = new Vuex.Store({ state: { msg: '原始数据' }, actions: { fun: function ({commit},date) { commit('saveAdminInfo', {list: date}); }, }, mutations: { saveAdminInfo(state, adminInfo){ state.msg = adminInfo.list; } }});export default store;

第三步:在main.js中引入store

new Vue({ el: '#app', router, store, template: '<App/>', components: { App }});

第四部:编写路由页面

//test1.vue<template> <div> msg:{{msg}} <input type="text" v-model="checkedNames" style="border: 1px solid red"> <button @click="fun">提交</button> </div></template><script> import {mapState,mapActions} from 'vuex'; export default{ data(){ return{ checkedNames:'' } } , computed: {...mapState(['msg'])}, methods: {// ...mapActions(['fun']);//如果需要向actions里面传值就手动调用fun(){ this.$store.dispatch('fun',this.checkedNames); } //...mapActions(['fun'])== this.$store.dispatch('fun'); } }</script>

test2.vue

<template> <div> msg:{{msg}} </div></template><script> import {mapState} from 'vuex'; export default{ computed: {...mapState(['msg'])}, //对应getters.技术中的msg// methods: {...mapActions(['fun'])} }</script>

修改之前:

test1

test2

以上这篇浅谈vuex的基本用法和mapaction传值问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章