vue2.x中使用vuex

news2024/12/27 4:24:12

Vuex是什么?

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

 

这是Vuex的工作原理 

安装Vuex

方法一:使用CDN

<!--引用最新版-->
<script src="https://unpkg.com/vuex@next"></script>
<!--引用指定版本-->
<script src="https://unpkg.com/vuex@4.0.0-rc.1"></script>

方法二:使用模块化安装

npm install vuex@next --save
or
yarn add vuex@next --save

创建Vuex的目录结构 :

src/store
    store/modules
        modules/actions.js
        store/getters.js
        store/mutations.js
        store/state.js
    store/index.js

 Vuex目录详解:

        store/modules:模块化,如果项目大的话,代码会很多,如果全部放一起,不利于管                                       理,所以有了modules

        store/index.js:通俗将就是将所有的模块都导入进来,最终作为Vuex的一个总入口

        store/modules/actions.js:
                                                1、Action 类似于 mutation,不同在于:1.Action 提交的是                                                        mutation,而不是直接变更状态。也就是说,如果想改                                                           变state的值,就必须调用mutations中的方法

                                                2、在actions中做逻辑操作,计算、发送ajax

                                                3、用actions中的方法是:dispath()

                                                4、可以包含任意异步操作

          store/modules/getters.js:

                                                1、实时监听state值的变化(最新状态)

                                                2、getters中必须是一个函数,并且函数必须有返回值,所以                                                        将获取的所有值都写成函数返回值规则

          store/modules/mutations.js:

                                                1、要修改store中的值唯一的方法就是提交mutation来修改

                                                2、mutations在请求数据的时候,是同步的

           store/modules/state.js:

                                                1、设置全局访问的state对象

将Vuex导入main.js中并挂载

import store from './store/index'//导入 Vuex 的文件: store.js
new Vue({
  store,
  router,
  render: h => h(App)
}).$mount('#app')

各个文件的编写方法

        store/index.js:

import Vue from 'vue'
import Vuex from 'vuex'
import state from './modules/state'
import actions from './modules/actions'
import mutations from './modules/mutations'
import getters from './modules/getters'

Vue.use(Vuex);

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

store/modules/state.js:

 

 store/modules/actions.js:

 store/modules/getters.js:

store/modules/mutations.js: 

 

 Vuex在组件页面中的使用state的值方式:

在标签中直接使用

<div>最优秀的前端工程师是:{{ $store.state.name }}</div>

 如果你想直接调用state的值得话,先导入 mapState,然后在 computed 中定义相应的值

import { mapState,mapGetters } from 'vuex'
computed: {
    ...mapState(['name','city','shopCart']),  //userInfo,allState变量
    ...mapGetters(['name'])
  },

然后你就可以直接在标签中使用对应的值了

<div>我是通过mapGetters获取的getters的name值:{{name}}</div>

 在组件页面中调用store/modules/actions.js 中的方法

this.$store.dispatch('addAge',2)
//addAge:就是在actions中定义的方法

在组件中调用store/modules/mutations.js 中的方法

this.$store.commit('changeName','武则天')
//changeName:就是定义在 mutations.js 中的方法

到了这一步Vuex的设置及简单使用就已经基本完成了,还请各位大佬指教       (#^.^#)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/337104.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java:使用Java功能确保应用程序安全的方法

与添加新功能一样重要的是&#xff0c;应用程序开发人员需要开始更加重视他们设计的应用程序的安全性。毕竟&#xff0c;更多的应用程序功能意味着更多的数据驻留在应用程序中。如果没有适当的安全控制&#xff0c;这些数据很容易被入侵者窃取。Java是目前世界上最安全、最流行…

如何去阅读源码,我总结了18条心法

在聊如何去阅读源码之前&#xff0c;先来简单说一下为什么要去阅读源码&#xff0c;大致可分为以下几点原因&#xff1a;最直接的原因&#xff0c;就是面试需要&#xff0c;面试喜欢问源码&#xff0c;读完源码才可以跟面试官battle提升自己的编程水平&#xff0c;学习编程思想…

不要慌,我们谈一谈如何用好 ChatGPT

别人贪婪时我恐惧&#xff0c;别人恐惧时我贪婪。 ——巴菲特 ChatGPT 火了&#xff0c;技术领域的社交媒体、自媒体几乎被 ChatGPT 刷屏&#xff0c;这些内容当中最让人惶恐不安的是我们是否会被 AI 取代之类的文章。 比如以下几个文章标题&#xff1a; 《ChatGPT可能马上…

Transformer结构解读

咱们还是照图讨论&#xff0c;transformer结构图如下&#xff0c;本文主要讨论Encoder部分&#xff1a;图一一、首先说一下Encoder的输入部分&#xff1a;在NLP领域&#xff0c;个人理解&#xff0c;这个inputs就是我们的句子分词之后的词语&#xff0c;比如“我&#xff0c;喜…

符号让人疯狂

符号让人疯狂 判断背了个LV符号的包就想可能有钱 趣讲大白话&#xff1a;人是通过符号区分生活的 聪明人想想&#xff1a;能超越或摆脱符号依赖吗&#xff1f; *********** 信息社会加速符号的传递和创造 我们已经被各种信息传递的符号淹没 信息符号的筛选成了人的主要工作 再…

GRB非隔离系列宽电压输入负高电压输出 电压控制型

特点● 效率高达70%以上● 1*2英寸标准封装● 单电压负输出● 价格低● 电压控制,输出电压随控制电压变化线性变化● 工作温度: -40℃~85℃● 阻燃封装&#xff0c;满足UL94-V0 要求● 温度特性好● 可直接焊在PCB 上应用GRB 系列模块电源是一种DC-DC升压变换器。该模块电源的输…

十、Linux文件 - fread函数讲解

目录 1.fread函数讲解 2.fread函数实战 1.fread函数讲解 从文件中读入数据到指定的地址中 函数原型&#xff1a; size_t fread(void*buff , size_t size, size_t count , FILE* stream) /* * description :对已打开的流进行数据读取 * param ‐ ptr &#xff1a;指向 数据块的…

好用的电脑备份软件推荐

现在几乎每个人都有一台电脑&#xff0c;上面存储着大量的数据&#xff0c;比如宝贵的照片、视频、工作文档等等。但电脑也随时存在许多威胁&#xff0c;比如病毒、Windows 更新错误、死机黑屏、驱动程序问题、系统崩溃等。为防止任何数据丢失&#xff0c;你需要一个专业的电脑…

Oracle数据库故障处理-单块读hang存储异常导致hang死,数据库大量的db file seq read等待(p1 p2无反映)

1 故障描述 2023年1月27日下午接到业务反馈数据库存在大量的锁表阻塞信息&#xff0c;并且业务的页面以及数据库的一些查询均处于阻塞状态&#xff0c;简单的查询sql也需要查询很长时间且未返回结果,数据库hang状态。 问题现象2 1 数据库进程无法杀除。 2 操作系统进程使用…

也许你应该学学 postman了

使用 最简单的方法就是直接在浏览器中复制 Copy as cURL &#xff0c;然后把数据导入 postman&#xff0c;然后 send &#xff0c;收工。 我们这里拿 知乎首页 举例 在对应的请求下复制 cURL 打开 postman &#xff0c; 点击左上角的 Import &#xff0c; 选择Paste Raw Tex…

如何使用逻辑分析仪,解析通信数据

如何使用逻辑分析仪&#xff0c;解析通信数据使用工具&#xff1a;逻辑分析仪&#xff08;几十块买的裸板&#xff09;&#xff0c;软件是&#xff1a;PulseView一、在开发或者移植某一个模块时&#xff0c;你可能遇到这样的问题&#xff1a;二、逻辑分析仪的使用使用工具&…

二级C语言操作例题(四十)

一、程序填空题 在此程序中&#xff0c;函数fun的功能是&#xff1a;在形参s所指字符串中寻找与参数c相同的字符&#xff0c;并在其后插入一个与之相同的字符&#xff0c;若找不到相同的字符则不做任何处理。 例如&#xff0c;若s所指字符串”baacda”&#xff0c;中c的字符为…

JavaWeb-JavaScript API

目录DOM获取元素事务操作操作元素获取/修改元素属性获取/修改表单元素属性实现一个全选效果&#xff0c;主要是操作input的checked属性获取/修改元素样式点击放大字体夜间模式(关灯开灯)操作节点新增节点删除节点案例-猜数字案例-表白墙DOM DOM 全称为 Document Object Model.…

【Spring6源码・MVC】请求处理流程源码解析

上一篇《【Spring6源码・MVC】初始化registry&#xff0c;完成url和controller的映射关系》我们知道&#xff0c;在IOC容器加载的同时&#xff0c;初始化了registry这个HashMap&#xff0c;这个HashMap中存放了请求路径和对应的方法。当我们请求进来&#xff0c;会通过这个regi…

合并两个有序链表-力扣21-java双百方案

一、题目描述将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例 1&#xff1a;输入&#xff1a;l1 [1,2,4], l2 [1,3,4]输出&#xff1a;[1,1,2,3,4,4]示例 2&#xff1a;输入&#xff1a;l1 [], l2 []输出&#xff1…

C++中编译静态库与动态库

1.库的理解库就是写好的现有的&#xff0c;成熟的&#xff0c;可复用的代码。现实中每个程序都要依赖很多基础的底层库&#xff0c;不可能每个人的代码都从零开始&#xff0c;因此库的存在意义非同寻常。本质上来说库是一种可执行代码的二进制形式&#xff0c;是预编译代码的集…

【Vue3】element-plus中el-tree的递归处理赋值回显问题

目录一&#xff1a;先获取所有权限tree二&#xff1a;在获取所有该角色能有的权限tree三&#xff1a;递归处理勾选tree节点由于项目是从0-1开始构建的 rbac都需要重新构建对接 所以涉及到了权限管理和菜单管理 一级菜单包含多个二级菜单 若二级不全选&#xff0c;则一级显示 半…

scipy超几何函数

文章目录hyp2f1广义超几何函数其他超几何函数hyp2f1 当c不是0,−1,⋯0,-1,\cdots0,−1,⋯时&#xff0c;对于∣z∣<1|z|<1∣z∣<1&#xff0c;超几何函数可表示为 2F1(a;b;c;z)∑n0∞a(n)b(n)c(n)znn!_2F_1(a;b;c;z)\sum^\infty_{n0}\frac{a^{(n)}b^{(n)}}{c^{(n)}}\…

TOOM告诉你企业舆情监测的重要性,企业舆情监测的意义

企业舆情监测是一种有效的企业管理手段&#xff0c;能够帮助企业了解舆情信息&#xff0c;从而更好地管理企业、保护企业利益&#xff0c;TOOM告诉你企业舆情监测的重要性&#xff0c;企业舆情监测的意义。 一、企业舆情监测的重要性 声誉管理&#xff1a;通过对企业在线和离…

pixhawk2.4.8使用调试记录—APM固件

目录一、硬件准备二、APM固件、MP地面站下载三、地面站配置1 刷固件2 机架选择3 加速度计校准4 指南针校准5 遥控器校准6 飞行模式7 紧急断电&无头模式8 基础参数设置9 电流计校准10 电调校准11 起飞前检查&#xff08;每一项都非常重要&#xff09;12 飞行经验四、遇到的问…