当前位置:首页 » 《关注互联网》 » 正文

Vue脚手架的入门基础(五)—— 关于Vuex的简单使用_Biu_Destiny的博客

7 人参与  2022年01月25日 15:41  分类 : 《关注互联网》  评论

点击全文阅读


Vue脚手架的入门基础(四)—— 关于Vuex的简单使用

  • 0.配置Vuex
  • 1.原理图
  • 2.使用vuex
    • ① 创建store
    • ② 引入store
    • ③ 使用store

Vuex其实有点像React+umi里面的DVA,和vue全局事件总线来比更加正规灵活一点。

0.配置Vuex


# yarn方式安装
yarn add vuex

# npm方式安装
npm i vuex

1.原理图

以下为个人理解,主要方便记忆,vuex其实相当于构建了一个全局数据仓库,state就是全局数据,Mutations则是数据管理员,只有他能直接获得并操作state数据,Action则是数据管理员的助理,他帮忙接收用户的dispatch请求,然后再调用commit函数转给数据管理员Mutations,由数据管理员再进行相关数据操作。
在这里插入图片描述

2.使用vuex

① 创建store

在src目录下创建store文件夹,创建index.js作为我们的数据中心
在这里插入图片描述
数据中心 store 中主要放置三个东西:actions、mutations、state(助理、管理员、数据)。


	const actions = {};
	const mutations = {};
	const state = {};
	

把他们放到数据中心中,并把数据中心暴露给外界。


	export default new Vuex.Store({
	    actions,
	    mutations,
	    state,
	});
	

这里我们用了Vuex,那么要引入Vuex,另外为了让我们随时都能调用store,我们要把Vuex挂载到每一个VueComponent(Vue组件对象)。


	import Vue from "vue";
	import Vuex from 'vuex';
	
	Vue.use(Vuex);

所以最后得到的,这里state加了一个message数据对象,action通过commit去调用 SET_MESSAGE 方法,SET_MESSAGE里面就是具体的数据修改方式了,value是外部传参,是用户调用actinos时候得到的。


	import Vue from "vue";
	import Vuex from 'vuex';
	
	Vue.use(Vuex);
	
	const actions = {
	    setMessage(context, value) {
	        context.commit('SET_MESSAGE', value);
	    }
	};
	
	const mutations = {
	    SET_MESSAGE(state, value) {
	        state.message = value;
	    }
	};
	
	const state = {
	    message: 'test',
	};
	
	export default new Vuex.Store({
	    actions,
	    mutations,
	    state,
	});
	

② 引入store

然后就是在main.js中使用store了,把他挂载到VueModel中,这样我们在任何组件中都可以用this.$store中调用到store了。
把store引入,在new Vue时候传参。


import Vue from 'vue'
import App from './App.vue'
import store from './store'

Vue.config.productionTip = false;

new Vue({
    render: h => h(App),
    store
}).$mount('#app');


③ 使用store

最后就是在组件中使用了,这个其实就很简单了,无非就是通过挂载在组件上的$store与store中的state建立练剑,无非就是通过dispatch调用actions


<template>
    <div>
        <h1>当前数据对象为{{this.$store.state.message}}</h1>
        <input type="text" @keyup.enter="setMessage">
    </div>
</template>

<script>
    export default {
        name: "VuexApp",
        methods: {
            setMessage(e) {
                this.$store.dispatch('setMessage', e.target.value)
            }
        }
    }
</script>

this.$store.state.message:直接显示state中的内容
this.$store.dispatch('setMessage', e.target.value):修改message内容为e.target.value


点击全文阅读


本文链接:http://zhangshiyu.com/post/33897.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

最新文章

  • 填错志愿后,我成了活神仙章节目录_顾言姜澈林晓晓优质全文_小说后续在线阅读_无删减免费完结_
  • 沈亦初秦景泽后续(以后,她都不要再喜欢他了)(沈亦初秦景泽)整本畅享在线+无广告结局
  • 独家猎户夫君你轻点宠小说(云柔苏安)(猎户夫君你轻点宠)电子书畅享阅读
  • 全网首发容止洛云曦小说叫什么(他死后女帝火葬场了)(容止洛云曦)全书阅读纯净阅读
  • 周砚川战景熙小说章节目录+序章(离婚后,保镖前夫他成了财阀大佬)全书畅享在线
  • 碎骨惨死后,我与宿敌联手弑夫证道特别篇章节目录+章节前文(齐南韵柳苑云)TXT清爽版在线
  • 重生八零年代点天灯后,崇洋***的养妹疯了章节目录_肖颖芝江天肖星苒书荒_小说后续在线阅读_无删减免费完结_
  • 最新章节(姜小九徐琛)霸婚总裁小蛮妻:结局+番外精品选集附加章节列表
  • 死后十年,妈妈收到我的死亡通知高口碑_妹妹爸爸妈妈大丫隐藏剧情_小说后续在线阅读_无删减免费完结_
  • 邻居连续偷菜93天小说(林婉清顾星河)章节目录+起点章节(邻居连续偷菜93天)全篇清爽版在线
  • 何时慢顾砚之后续(你惹她干嘛?她带四十米大刀来了)(何时慢顾砚之)整本畅享在线+无广告结局
  • 结婚纪念日当天,老公说他出差了必读文_陆言林姗老公内容精选_小说后续在线阅读_无删减免费完结_

    关于我们 | 我要投稿 | 免责申明

    Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1