肥宅钓鱼网
当前位置: 首页 钓鱼百科

vuex原理及使用方法(vue框架中vuex的作用是什么)

时间:2023-08-14 作者: 小编 阅读量: 1 栏目名: 钓鱼百科

它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。把组件的共享状态抽取出来,以一个全局单例模式管理。这就是“状态管理模式”。

点击右上方红色按钮关注“web秀”,让你真正秀起来

前言

前段时间,有小伙伴问我,Vuex是怎么玩儿的?也是一直没有机会,趁着今天有空,一起来学习一波。

本文章你能学到什么?

1、Vuex是什么?哪种功能场景使用它?

2、Vuex有哪几种属性?

3、使用Vuex的好处?

4、使用Vuex示例。

5、Vuex常见错误。

下面我们来详细讲讲!

Vuex是什么?哪种功能场景使用它?

官方话:Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。Vuex 也集成到 Vue 的官方调试工具 devtools extension,提供了诸如零配置的 time-travel 调试、状态快照导入导出等高级调试功能。

简单的说:Vuex是vue框架中状态管理。

这里就又出现一个问题:那什么是“状态管理模式”?

什么是“状态管理模式”?

把组件的共享状态抽取出来,以一个全局单例模式管理。在这种模式下,我们的组件树构成了一个巨大的“视图”,不管在树的哪个位置,任何组件都能获取状态或者触发行为!这就是“状态管理模式”。

应用场景有:单页应用中,组件之间的数据状态。 应用实例: 1、购物车功能; 2、下单页面有选择优惠券按钮,点击进入优惠券页面,选择后返回到下单页,数据会绑定回来,显示已选择的优惠券; 3、登录状态等等

Vuex有哪几种属性?

有五种,分别是 State、 Getter、Mutation 、Action、 Module

Vuex的State特性

1、Vuex就是一个仓库,仓库里面放了很多对象。其中state就是数据源存放地,对应于一般Vue对象里面的data

2、state里面存放的数据是响应式的,Vue组件从store中读取数据,若是store中的数据发生改变,依赖这个数据的组件也会发生更新

3、它通过mapState把全局的 state 和 getters 映射到当前组件的 computed 计算属性中

Vuex的Getter特性

1、getters 可以对State进行计算操作,它就是Store的计算属性

2、虽然在组件内也可以做计算属性,但是getters 可以在多组件之间复用

3、如果一个状态只在一个组件内使用,是可以不用getters

Vuex的Mutation特性

Action 类似于 mutation,不同在于:Action 提交的是 mutation,而不是直接变更状态;Action 可以包含任意异步操作。

Vuex的Module特性

Module 可以让每一个模块拥有自己的state、mutation、action、getters,使得结构非常清晰,方便管理。

const moduleA = {state: { ... },mutations: { ... },actions: { ... },getters: { ... } } const moduleB = {state: { ... },mutations: { ... },actions: { ... } }const store = new Vuex.Store({modules: {a: moduleA,b: moduleB })

使用Vuex的好处?

1、多层嵌套的组件、兄弟组件间的状态会更好管理维护。

2、缓存一些当前要使用请求远程或本地的数据集(刷新后会自己销毁)。

3、有了第二条,就可以减少向服务器的请求,节省资源。如果你的用户足够多,那么每多出一个请求,对公司来说,都是一大笔钱。

4、对开发者来说,如果你的项目足够复杂,团队的规模也不仅是一个人,数据集中处理更利于程序的稳定和维护。

使用Vuex示例

npm install vuex --save<template> <div > <span>count = {{$store.state.count}}</span> <button @click="increment"> 5</button> <button @click="decrement">-3</button> </div></template><script> // 引入mapActions,很重要 import {mapGetters,mapActions} from 'vuex' export default{ //与vuex中的getters关联 computed: mapGetters([ ]), //与vuex中的actions关联 methods: mapActions([ 'increment', 'decrement' ]) }</script>

创建一个vuex文件夹,文件夹里面创建一个store.js文件

import Vue from 'vue'import Vuex from 'vuex'Vue.use(Vuex)// 首先声明一个状态 stateconst state = { count: 0}// 然后给 actions 注册事件处理函数,当这个函数被触发时,将状态提交到 mutaions中处理const actions = { increment: ({ commit }) => commit('increment'), // 提交到mutations中处理 decrement: ({ commit }) => commit('decrement')}// 更新状态const mutations = { increment (state) { state.count = state.count5 }, decrement (state) { state.count = state.count - 3 }}// 获取状态信息const getters = {}// 下面这个相当关键了,所有模块,注册才能使用export default new Vuex.Store({ state, mutations, actions, getters})

要在main.js声明全局

...import store from './vuex/store';...new Vue({ ... store ...})

Vuex常见错误

很多时候,总是不知不觉的直接改变 store 中的状态。这就导致了一个非常常见的错误:Do not mutate vuex store state outside mutation handlers.

改变 store 中的状态的唯一途径就是显式地提交 (commit) mutation

...this.store.commit('increment', 10);

改变一下store.js文件

...const mutations = { increment (state, params) { // params=10 }}...

公告

喜欢小编的点击关注,了解更多知识!

源码地址,可以点击下方“了解更多”获取!

    推荐阅读
  • 三三两两什么意思 三三两两什么意思解释

    出自《乐府诗集》。宋·辛弃疾《念奴娇·双陆》词:“袖手旁观初未说,两两三三而已。”

  • 摩范出行套餐怎么使用(共享出行新选择)

    1月6日,北汽麾下华夏出行推出的汽车分时租赁品牌“摩范出行”正式进军重庆市场,并公布了以上短期计划,这意味着山城市民从此又多了一种绿色、经济、便捷的出行方式。据悉,重庆也是“摩范出行”2019年全国开城巡回盛典的首站,接下来它还会陆续登陆南宁、石家庄、太原、济南、天津等25个城市。目前摩范出行的会员量已达到170万人,运营规模和效率均处在行业前列。

  • 泰州2021年高考考试科目试卷结构 2021泰州高三期末考试

    江苏省普通高中学业水平选择性考试科目试卷结构公布:一、物理科目采用闭卷、笔试形式。其中选择题约18~19题,单项选择题每题2分,多项选择题每题3分,共40~43分;非选择题共5题,共57~60分。其中选择题约22~23题,每题2分,共44~46分;非选择题共3题,共54~56分。六、思想政治科目采用闭卷、笔试形式。考试时长为75分钟,卷面满分100分。试题分为选择题和非选择题两大类。选择题约14~16题,每题3分,共42~48分。非选择题包括必做题和选做题,共52~58分。

  • 异彩纷呈的意思是什么(异彩纷呈指什么)

    接下来我们就一起去了解一下吧!异彩纷呈的意思是什么异彩纷呈是一个汉语成语,拼音是yìcǎifēnchéng,比喻突出的成就或表现,是指在这个时期,不仅出现了许多过去从来没有过的新事物,同时也出现了许多过去没有过,今后也不会有的具有过渡性特点的奇特事物。奇光异彩,五彩缤纷。

  • 有痘印痘坑怎么修复(有痘印痘坑如何修复)

    下面希望有你要的答案,我们一起来看看吧!有痘印痘坑怎么修复新形成的痘印,可外用涂抹维生素C、维生素E等美白去色素产品,可有效治疗。陈旧性痘印,可涂抹维A酸乳膏、果酸等产品,促进角质、色素剥脱。建议局部使用生姜涂抹,可以加速皮肤的修复,起到很好的治疗效果,但是不建议长期使用。

  • 原地打方向和颠簸路面异响(为什么原地打方向)

    2.平衡杆胶松动发出的声音声音不是从减震器的平面轴承发出的,就要检查一下平衡杆胶有没有出现松动或损坏的现像,平衡杆胶松动、损坏不但会在打方向时响,在过不平路面时也会发出响声,平衡杆胶松动是可以通过加垫片的方式来解决的,如果损坏就只能更换了。

  • 会计证书都考哪些(手持5本证书的老会计告诉你会计证书应该怎么考)

    取得经济学、法学、管理学学科门类大学本科及以上学历或其他学科门类大学本科学历,从事经济、法律相关工作满1年。高级会计推荐时间:最后报名条件:大专以上学历中级证会计相关工作满10年硕士或研究生或本科中级证会计相关工作满5年博士中级证会计相关工作满2年这个证书实际考不考无所谓,1个CPA在手,天下横走,高级会计考的人也比较少,评级采用的是:考试评审,要求比较多。

  • 天堂鸟叶子为什么会开裂(需要怎么养护)

    需要怎么养护天堂鸟(鹤望兰)叶子开裂了和风大有关叶子顺着纹路裂开可能与风大有关鹤望兰比较娇贵,它既喜光又怕光(夏天不能曝晒),既爱水又畏水(肉质根最易腐烂)鹤望兰在非洲热带地区,开花时要靠蜂鸟来传播花粉国内,则需。

  • 工业风水泥墙面怎么弄(你了解吗)

    以下内容希望对你有帮助!工业风水泥墙面怎么弄刷完水泥后,稀刮腻子粉,然后打磨。刮425水泥,用砂纸稍微打磨下不要透底,再刷一层漆,效果比较整体。用五金店上买的水泥漆,分底漆,中途,面漆,感觉比较好掌握。、水泥墙不仅是原生态的装修设计,更能体现出独特的美感,是一种很新鲜特别的设计风格。

  • 每日一猜谜语谜底(猜谜语一复一日)

    谜语源自中国古代民间,历经数千年的演变和发展。它是中国古代劳动人民集体智慧创造的文化产物。中华谜语历经数千年的演变、发展、完善才形成现今的体系格局。全国各地的猜谜活动蓬勃发展,各地的文化馆、俱乐部都成立了群众性的灯谜组织,不少地区还成立了灯谜爱好者协会。字谜是谜语的一种表现形式,深受大家喜爱,今天精选了5个字谜,供各位谜友竞猜。字谜1:一复一日。(打一字)4字谜5:花一半,留一半。