Vue状态管理(Vuex)

简单实用vue状态管理vuex vue单页项目开发总是要管理一些状态值,比如登录状态之类,简单的学习了vuex,分享一下。 这里暂时介绍vuex里面的三个模块的功能,state,getters和mutations 1,在我们的单页项目中安装vuex npm install vuex --save 2,在我们项目的文件目录中的src文件夹下面新建一个文件夹,文件夹名名字随意,一般叫vuex,store之类的 阅读详情

浅谈Vuex

Question:Vuex状态管理跟使用传统全局变量有什么不同之处呢?

Answer:

1.Vuex的状态存储是响应式的:就是当你的组件使用到了这个Vuex的状态,一旦它改变了,所有关联的组件都会自动更新相对应的数据,这样开发者省事很多。

2.不能直接修改Vuex的状态:如果是个全局对象变量,要修改很容易,但是在Vuex中不能这样做,想修改就得使用Vuex提供的唯一途径:显示地提交mutations来实现修改。这样做的好处就是方便我们跟踪每一个状态的变化,在开发过程中调试的时候,非常实用。

Question:Vuex有哪几种状态和属性?

1.State:用一个对象State包含了整个应用层级的所有状态,你可以理解为这些状态就是一堆全局变量和数据。

2.Mutations:修改仓库 store中的状态的唯一办法就是通过提交mutations

我们在 mutations中定义了一个叫increment的函数,函数体就是我们要进行更改的地方会接受 state作为第一个参数,第二个是自定义传参

我们在提交commit时候,字符串参数increment,就是对应在 mutations中的increment。一般通过方法或钩子触发,例如:

3.Getters:是store的计算属性,类似于computed,对state里的数据进行一些过滤,改造等等,假设我们要在state.count的基础上派生出一个新的状态newCount出来,就适合使用我们的 getters

在组件中获取{{newCount}}方式:this.$store.getters.newCount

4.Action:用来解决异步流程来改变state数据

Action 通过 store.dispatch 方法触发

如何运用vuex语法糖mapMutations??

此方法只能写在 methods里面,在其他地方调用即可...mapMutations(['add', 'reduce'])

如何运用辅助函数mapActions??

如何运用辅助函数mapState??

当一个组件需要获取多个状态时候,将这些状态都声明为计算属性会有些重复和冗余。为了解决这个问题,我们可以使用 mapState 辅助函数帮助我们生成计算属性,让你少按几次键

如何运用辅助函数mapGetters??

store.js代码

import Vue from "vue";
import Vuex from "vuex";


Vue.use(Vuex);


const store = new Vuex.Store({
  state: {
    storeSalaryList: [
      {
        name: "马云",
        salaryAmount: 1000
      },
      {
        name: "马化腾",
        salaryAmount: 900
      },
      {
        name: "李彦宏",
        salaryAmount: 800
      }
    ]
  },
  getters: {
    doubleSalaryList(state) {
      let newArr = state.storeSalaryList.map(item => {
        return {
          name: item.name,
          salaryAmount: item.salaryAmount * 2 + " " + "$"
        };
      });
      return newArr;
    },
    totalSalary(state) {
      let sum = 0;
      state.storeSalaryList.map(item => {
        sum += item.salaryAmount;
      });
      return sum * 2;
    }
  }
});
export default store;


组件中的代码

<template>
  <div id="salary-list-fisrt">
    <h2>财富榜</h2>
    <ol>
      <li v-for="(salary, index) in myDoubleSalaryGetter"
          :key="index">
        {{salary.name}}的工资是:{{salary.salaryAmount}}
      </li>
    </ol>
    <span>工资总额是:{{myTotalSalary}} $</span>
  </div>
</template>
<script>
import { mapGetters } from "vuex";
export default {
  name: "salary-list-first",
  computed: {
    ...mapGetters({
      myDoubleSalaryGetter: "doubleSalaryList",
      myTotalSalary: "totalSalary"
    })
  }
};
</script>


Java患者

长按识别二维码关注我们

更多精彩内容可回复关键词

面试 | 项目

前端|Vue|VueX 超详细 通过实例来理解 VueX 状态管理 Vuex是Vue.js的一个状态管理库,采用集中式存储管理应用的所有组件状态,并以相应的规则保证状态以一种可预测的方式发生变化。Vuex采用了由Flux、Redux演变而来的状态管理模式。Vuex可能听起来很高大上,但其实它就像一个大型购物中心的储物柜,让任何一家店铺(在我们的案例中,即Vue组件)都能存取共享物品(即状态)。让我们通过一个简单的购物车示例,一步一步地探索Vuex的魔法。想象一下,你正在构建一个在线商城应用。顾客浏览商品,点击“添加到购物车”,并且他们希望在任何页面查看购物车中有哪些商品。 阅读详情

相关推荐

Vue中的状态管理Vuex,基本使用

Vuex的基本讲解 Vuex的基本使用

xvzhengyang的博客 1172

面试3

浅谈Vuex Question:Vuex状态管理跟使用传统全局变量有什么不同之处呢? Answer: 1.Vuex的状态存储是响应式的:就是当你的组件使用到了这个Vuex的状态,一旦它改变了,所有关联的组件都会自动更新相对应的数据,这样开发者省事很多。 2.不能直接修改Vuex的状态:如果是个全局对象变量,要修改很容易,但是在Vuex中不能这样做,想修改就得使用Vuex提供的唯一途径:显示...

zyf13671493506的博客 184

H医药公司配送中心布局仿真优化

新增2个Source,Source1命名为“货物到达”,用来进行仿真供应商原料到达,Source2命名为“订单到达”,用来进行仿真客户需求订单的到达,如下图是设置两个发生器的具体参数。通过主操作界面上的各个实体工具,如发生器、暂存区、货架、处理器、吸收器等实体工具对初始模型和优化后的方案模型进行仿真建模,建立优化前后的模型图如下图所示。通过下表可以看出,优化前操作员的总运行距离为132.11km,而优化后操作员的总运行距离为128.17km,运行距离缩短,操作员的疲劳强度降低。

m0_72514516的博客 2529

使用vue之vuex进行状态管理

首先学习vuex必须先知道vue原理 Vue是一个典型的MVVM框架,模型(Model)只是普通的JavaScript对象,修改它则视图(View)会自动更新。这种设计让状态管理变得非常简单而直观 Vue实现这种数据双向绑定的效果,需要三大模块: Observer:能够对数据对象的所有属性进行监听,如有变动可拿到最新值并通知订阅者 Compile:对每个元素节点的指令进行扫描和解析,根据指令模板替...

mlonly的博客 6378

Rust 与 C/C++:Rust 比 C/C++ 更好还是只是“技能问题”?

对于许多嵌入式系统开发人员而言,的崛起似乎掀起了一股不小的浪潮,特别是在相较于传统的语言,Rust的“内存安全”优势让人眼前一亮。然而,是否可以将Rust作为C/C++的替代品?或者说,Rust是否真的比C/C++更好,抑或它只是一个“技能问题”呢?在嵌入式开发的领域,我观察到,尽管Rust在一些高性能、内存安全敏感的场景中受到了广泛推崇,但它在实际应用中的普及度,特别是在嵌入式领域,依然有限。今天,我会从多个角度探讨这个问题,并且分享一些对于Rust、C/C++以及嵌入式系统开发的个人见解。

qq_63315166的博客 1299

Unity URP风格化水面Shader全流程实现与性能优化指南

在游戏开发中,Shader是实现特定视觉风格的核心技术,它通过编写在GPU上运行的程序,控制模型每个像素的最终颜色与光照表现。其原理在于对顶点位置、纹理坐标、光照信息及深度等数据进行一系列数学运算与插值。这项技术的价值在于能够以极高的自由度创造从写实到卡通的各种渲染效果,同时通过算法优化实现对硬件资源的精准控制。在移动游戏、独立游戏等对性能与风格化有强烈需求的场景中,自定义Shader尤为重要。本文聚焦于使用Unity URP渲染管线,从零构建一个高效的风格化水面Shader,详细拆解了深度色、波浪动画、边

weixin_34320724的博客 371

vue中watch的小问题

https://segmentfault.com/q/1010000008846345 可能你还没有注意到,Vue 异步执行 DOM 更新。只要观察到数据变化,Vue 将开启一个队列,并缓冲在同一事件循环中发生的所有数据改变。如果同一个 watcher 被多次触发,只会一次推入到队列中。这种在缓冲时去除重复数据对于避免不必要的计算和 DOM 操作上非常重要。 for(var i=0;i&l...

zyf13671493506的博客 420

基于 MATLAB 的综合能源系统建模案例 

电平衡约束:P_{gt}(t)+P_{grid}(t)-P_{eb}(t)-P_{load}(t)=0,其中 P_{grid}(t) 为与外部电网的交互功率(正表示购电,负表示售电)。- 电锅炉的热输出功率 Q_{eb} 与输入电功率 P_{eb} 的关系为:Q_{eb}=\eta_{eb}\times P_{eb},其中 \eta_{eb} 为电锅炉的热效率。- 燃气轮机的余热回收功率 Q_{gt} 与发电功率也存在一定关系,例如:Q_{gt}=c\times P_{gt},c 为余热回收比例系数。

qq_57128262的博客 1394

vue状态管理、Vuex使用详解

1.NPM安装 npm install vuex --save 2.配置vuex Vuex 实例对象属性 主要有下面5个核心属性 state :全局访问的state对象,存放要设置的初始状态名及值(必须要有) mutations :里面可以存放改变 state 的初始值的方法 ( 同步操作--必须要有 ) getters :实时监听state值的变化可对...

qq_41772754的博客 1万+

3D点云处理:PointNet++与PointTransformer的对比

摘要: 3D点云处理中,PointNet++和PointTransformer是两种主流深度学习模型。PointNet++通过分层采样和分组策略提取局部特征,而PointTransformer利用自注意力机制捕捉全局上下文。实验表明,PointTransformer在分类(ModelNet40准确率92.1%)和分割(ShapeNet mIoU 85.7%)任务上性能更优,但计算开销较大(训练时间180秒/轮)。PointNet++在实时性场景更具优势(训练时间120秒/轮)。未来可结合两者优势,或优化Tr

shejizuopin的博客 1117

LangChain4j-针对性操作Function-call+系统预设角色

如果我们想要对一些敏感信息进行针对化的操作,不仅仅是接口大模型去进行回复。比如我们现在数据库里面有一些菜品,那么用户提问,店里有多少套餐,那么云端大模型肯定是不知道的,我们希望捕获这些关键字然后进行自己的业务查询或者处理,这个时候就可以使用function-call。

DDDDDouble的博客 454

vue 状态管理原理与实现

当前最火热的框架无非就是Vue,Angular,React,今天我把我在用vue开发中的迷茫的地方(状态管理)给大家说一下,刚开始很懵逼,很苦恼; 下面我来说一下vuex: vuex 是什么? Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。 Vue 应用中原始数据对象的实际来...

loftBlack 3255

SAP_FICO模块-资产减值功能对折旧和残值的影响

SAP_FICO模块-资产减值操作对资产历史折旧以及后续折旧的影响,包括减值操作的配置前提

风沙的博客 2802

Vue3之状态管理Vuex

Vuex作为Vue.js的官方状态管理库,为大型或复杂前端项目提供了高效的解决方案。它通过集中式存储管理应用状态,确保状态变化可预测。Vuex的核心包括state、getters、mutations、actions和modules,分别负责状态存储、状态派生、状态修改、异步操作和模块化管理。其特点在于集中式状态管理、组件间状态共享、状态可追踪维护以及简化组件通信。

一个老Java开发的自白 2189

华为od 面试八股文_Spring_03_含答案

控制反转IOC是一个很大的概念,可以用不同的方式来实现。其主要实现方式有两种:依赖注入和依赖查找依赖注入;

MISAYAONE的博客 2336

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

Vue基础之Vuex状态管理

vuex状态管理

weixin_46625500的博客 1621

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

如何在 Vue 3 项目中使用 Vuex 进行状态管理?

在vue3项目中使用vuex进行状态管理

Sherry Tian的博客 3966

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

【Vue全家桶】Vuex状态管理

在开发中,我们会的应用程序需要处理各种各样的数据,这些 数据需要保存在我们应用程序中的某一个位置,对于这些数据 的管理我们就称之为是状态管理Vuex 的状态管理的基本实现(这里采用官方的图解)...

贤蛋大眼萌 3814

【Vue3】Vuex状态管理

Vuex的各种属性,以及同一属性在vue2和vue3中的不同使用

weixin_44899940的博客 984

【Vuex】Vue状态管理模式

new Vue({// statedata () {return {count: 0},// view`,// actionsmethods: {})state,驱动应用的数据源;view,以声明方式将state映射到视图;actions,响应在view上的用户输入导致的状态变化。以下是一个表示“单向数据流”理念的简单示意:但是,当我们的应用遇到多个组件共享状态多个视图依赖于同一状态。来自不同视图的行为需要变更同一状态。

我的博客 1095

如何在Vue 3中处理状态管理?请简单介绍Vuex 4

Vuex是一个专为Vue.js应用程序开发的状态管理模式和库。它以“单向数据流”模式为基础,将应用的状态集中存储在一个地方,使得数据的流动更加清晰和可预测。在Vuex中,状态存储在一个称为“store”的对象中,组件可以通过这个store来获取和修改状态。

有我更精彩的博客 1213

Vue中状态管理——Vuex

vuex是一个专门为vue.js设计的状态管理模式,并且也可以使用devtools进行调试。在vuex出现之前,vue里面的状态是属于‘单向数据流’。举个官网的例子:new Vue({ // state data () { return { count: 0 } }, // view template:

假面猫的博客 2万+

vue2、vue3状态管理之vuex、pinia

组件之间的传值一般有哪些?有父子组件通讯,兄弟组件通讯…但是传参对于多层嵌套就显得非常繁琐,代码维护也会非常麻烦。因此就把组件共享状态抽取出来以一个全局单例模式管理,把共享的数据函数放进状态管理中,任何组件都可以进行使用。

daishu_shu的博客 1891

Vue(5)之 Vuex 状态管理

1、Vuex 状态管理 Vuex官网 Vuex是一个专门为 Vue.js 应用开发的状态管理模式。它采用集中式储存来管理应用程序中所又组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。Vuex也集成到了Vue的官方调试工具vue-devtools中,提供了诸如零配置的time-travel调试、状态快照导入导出等高级调试功能。 Vuex的工作原理图: 2、表单处理 <!DOCTYPE html> <html lang="en"> <head> &

惟忆 4万+

【VUE】9、VUE项目中使用VUEX完成状态管理

Vuex 是一个专为 Vue.js 应用程序设计的状态管理模式,它帮助开发者更有效地管理组件间共享的状态。在 Vue 项目中使用 Vuex,可以解决复杂应用中状态管理的困扰,确保状态变更的可追踪性和一致性。

JACKAL 3万+

从 Vuex 到 Pinia:Vue 3 状态管理的全面升级

在Vue 3的“江湖”里,状态管理这块可是发生了大变化!当咱们从Vue 2“升级打怪”到Vue 3,以前常用的Vuex逐渐被更“香”的Pinia替代了。今天就来唠唠Vuex和Pinia到底有啥不一样,帮大家轻松拿捏新的状态管理姿势!

专注前端领域,深耕 Vue/React、工程化与性能优化。博客记录技术探索、源码解读与实战方案,分享靠谱的前端干货。 871
上一篇: Vue基础总结
下一篇: Vue基础总结2
新时代Java农民工
博客等级 码龄7年 16粉丝 116原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值