Vuex有那几种状态和属性?

2023-11-09

vuex的流程


页面通过mapAction异步提交事件到action。action通过commit把对应参数同步提交到mutation。mutation会修改state中对于的值。 
最后通过getter把对应值跑出去,在页面的计算属性中,通过mapGetter来动态获取state中的值

vuex有哪几种状态和属性


有五种,分别是State , Getter , Mutation , Action , Module (就是mapAction)

vuex的State特性是?


stae就是存放数据的地方,类似一个仓库 , 特性就是当mutation修改了state的数据的时候,他会动态的去修改所有的调用这个变量的所有组件里面的值( 若是store中的数据发生改变,依赖这个数据的组件也会发生更新 )

vuex的Getter特性是?


getter用来获取数据,mapgetter经常在计算属性中被使用

vuex的Mutation特性是?


Action 类似于 mutation,不同在于:

Action 提交的是 mutation,而不是直接变更状态。

Action 可以包含任意异步操作

vuex的优势:状态管理工具 核心是响应式的做到数据管理, 一个页面发生数据变化,动态的改变对应的页面。

举例:提交

  import {mapGetters} from 'vuex'
        computed: {
            ...mapGetters([
                'getRightOrderId',
                'getUserInfo'
            ]),
        },

 let newObj = {...data.data};
 this.$store.commit('setUserInfo', newObj)

action.js

 const actions = {

}
 export default  actions

getters.js

const getters = {
	getRightOrderId(state){
		return state.rightOrderId
	},
	getRightKMOrderId(state){
		return state.KaMitOrderId
	},
	getShowOrderPlat(state){
		return state.showRightPlat
	},
}


export  default getters

mutation.js

import  {setSession} from "../../utils/utils";

const mutation = {
	setRightOrderId(state,newVal){
		state.rightOrderId = newVal;
	},
	setRightKMOrderId(state,newVal){
		state.KaMitOrderId = newVal;
	},
	setShowRightPlat(state,newVal){
		state.showRightPlat = newVal
	},

};

export default  mutation

state.js

import {getSession} from "../../utils/utils";
const state = {
	rightOrderId: 0, //默认订单id
	openid: 0,
	userInfo:{     //用户登录信息
		nickname:JSON.parse(getSession('USER_LOGIN_INFO')) ? JSON.parse(getSession('USER_LOGIN_INFO')).nickname:'' ,
		wx_nickname:JSON.parse(getSession('USER_LOGIN_INFO')) ? JSON.parse(getSession('USER_LOGIN_INFO')).wx_nickname:'' ,
		qq_nickname:JSON.parse(getSession('USER_LOGIN_INFO')) ? JSON.parse(getSession('USER_LOGIN_INFO')).qq_nickname:'' ,
		account:JSON.parse(getSession('USER_LOGIN_INFO')) ? JSON.parse(getSession('USER_LOGIN_INFO')).account:'' ,
		token:JSON.parse(getSession('USER_LOGIN_INFO')) ? JSON.parse(getSession('USER_LOGIN_INFO')).token:'',
		avatar:JSON.parse(getSession('USER_LOGIN_INFO')) ? 

};
export default state

store.js

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

Vue.use(Vuex);

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

大致结构如下:

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Vuex有那几种状态和属性? 的相关文章

  • (vue)el-popover鼠标移入提示效果

    vue el popover鼠标移入提示效果 效果 代码
  • Vuex getter 未更新

    我有以下吸气剂 withEarmarks state gt var count 0 for let l of state laptops if l earmarks length gt 0 count return count 在组件中 这
  • Vuex axios调用无法处理422响应

    我正在尝试处理来自 API 的 422 响应 以防在进行异步 Axios 调用时数据无效 在组件中 我有一个类似的方法 async saveChanges this isSaving true await this store dispat
  • 在自定义指令中模拟 v-if 指令

    我需要销毁 v if 等自定义指令中的元素 如果条件失败 则禁止创建项目 我尝试这个 export const moduleDirective DirectiveOptions DirectiveFunction el binding vn
  • 使用 Vuex 突变更新对象引用的正确方法是什么?

    当对象引用传递到 Vue 子组件时 并且我想更新对象属性之一的值 使用 Vuex 最简单的方法是将对象引用和新值传递给突变 然后 突变只是更新传递对象的属性 这是合法的吗 这似乎有点太简单了 而且接近冗余 因为我可以在组件本身中进行重新分配
  • Vuex - 绑定助手中的动态命名空间(mapState,...)

    我正在动态注册 vuex 存储模块 store registerModule home grid GridStore 然后在组件中 export default name GridComponent props namespace type
  • Vuex + 打字稿

    我正在将 JavaScript 项目转换为 TypeScript 但是 当我尝试让 Vue 使用 Vuex 时 出现类型错误 import Vue from vue import Vuex from vuex Vue use Vuex 看起
  • 从 Vuex 访问提供给 Vue 的实例/服务 (Vue.js 3)

    背景 考虑以下 app js import API from utils API const api new API config app urls api endpoints token app provide api api 根据我在过
  • Vue Axios 动态 URL

    我想在 vue js 应用程序中动态创建 axios post 操作的 URL 路径 这是动作 editProduct function dispatch commit payload axios put http localhost 80
  • Vuex - 多次调度后运行函数

    我正在创建一个应用程序 在某个时刻我需要加载一些数据 但为了让用户看不到损坏的数据 我插入了一个加载组件 目前 我在负载中放置了 setTimeout 但在某些时候 API 响应可能需要超过 1 秒 所以我想仅在所有调度完成时更新加载状态
  • 我可以在 Vuex 中从 getter 进行调度吗

    小提琴 here https jsfiddle net 9a6Lg2vd 6 我正在使用 Vue 2 和 Vuex 创建一个 web 应用程序 我有一个商店 我想从 getter 获取状态数据 我想要的是如果 getter 发现数据尚未填充
  • 如何重新加载 vue 组件?

    我知道解决方案是像这样更新道具数据 this selectedContinent 但我想使用另一种解决方案 在我阅读了一些参考资料后 解决方案是 this forceUpdate 我尝试了一下 但不起作用 演示和完整代码如下 https j
  • 无法访问 Axios 拦截器内的 Vuex 存储突变

    EDIT 这个问题非常混乱 所以我基本上用相同的代码示例和相同的场景重写它 当服务器发送 401 错误响应时 我试图 commit从拦截器到我的 vuex 存储 import axios from axios import store fr
  • 在Vuex模块中进行继承的方法

    我使用 VueJS 和 Vuex 构建我的应用程序 当我有多个模块使用相同的数据字段时 我遇到了这个问题 它是关于像 dat 这样的 API 配置 getUsers state commit axios get urls API USER
  • 如果不刷新页面,Vuex 状态不会更新

    我正在构建一个单页面应用程序 用户可以根据他们是否登录来看到不同的页面 登录调用工作正常 授权令牌保存在本地存储中 设置 我已经设置了一个名为的吸气剂loggedIn返回true如果在状态上设置了令牌 这是我的确切代码auth js商店模块
  • 来自 VueX 和 NuxtJS 的持久状态

    我使用 vuex persistedstate 包 https github com robinvdvleuten vuex persistedstate https github com robinvdvleuten vuex persi
  • Vue.js 严格模式下不允许对一个属性进行多个定义

    再会 我们正在使用 Vuejs Vuex vue router 构建我们的应用程序https github com vuejs vue hackernews 2 0 https github com vuejs vue hackernews
  • Vue - 调度完成后调用 store getter?

    我正在使用 Laravel 5 7 Vue2 Vuex 我在调度调用完成后让 Vue 返回存储值时遇到一些困难 我的申请流程如下 我单击一个提交按钮 该按钮调用组件上的 validate Validate 分派到我的 addLease 操作
  • Web 扩展中共享 vuex 状态(死对象问题)

    我正在尝试在网络扩展中使用共享的 vue js 状态 状态存储在后台脚本的 DOM 中并呈现在弹出页面中 第一次尝试 我的第一次尝试是使用一个没有 vuex 的简单商店 背景 js var store count 0 popup js br
  • 多维数组、Vuex 和变异

    我正在尝试添加和删除存储在 Vuex 中的多维数组中的项目 数组是一组类别 每个类别又有一个子类别 无穷大 不是简单的二维数组 示例数据集是这样的 id 123 name technology parent id null children

随机推荐

  • Halcon 拟合直线

    本文用 Halcon 的矩阵操作实现最小二乘拟合直线 首先随机生成一组数据 Mx 100 10 500 tuple length Mx len tuple gen const len 5 r Ma 2 Mb 40 tuple rand le
  • 【numpy】argmax参数辨析(axis=0,axis=1,axis=-1)

    every blog every motto You can do more than you think 0 前言 网上一般都是axis 0 axis 1 很少有axis 1的博客 在这进行简单的小结 后续可能会增补 说明 代码在 jup
  • 抱抱脸(hugging face)教程-中文翻译-预处理

    预处理 在您可以在模型中使用数据之前 需要将数据处理为模型可接受的格式 模型不理解原始文本 图像或音频 这些输入需要转换成数字并组装成张量 在本教程中 您将 用tokenizer处理文本 用特征提取器对图像或音频数据进行预处理 使用处理器预
  • sqlserver:使用 SqlBulkCopy 批量插入数据

    环境 window 10 sqlserver 2014 参考 博文 SqlBulkCopy使用注意事项 1 问题场景 在批量迁移或导入数据时 我们可能会遇到插入大量数据的问题 比如 100万 500万 甚至几千万 这个时候 如果我们再使用普
  • Mac终端下出现bogon的解决方案

    现象 mac终端的hostname变成了bogon 解决方案 命令行重新设置一下hostname sudo scutil set HostName your hostname 原因 这是因为终端会先向 DNS 请求查询当前 IP 的反向域名
  • 修改git提交历史中的作者信息

    新建了一个仓库 提交了修改并push 发现提交历史的作者信息使用的是全局的配置 即 gitconfig中 user 的信息 想只要针对这个仓库配置另外的作者信息 到这个仓库下vi git config 编辑了额外的 user 信息 这样这个
  • java管理系统程序_用java来实现一个进程管理系统

    package test1 用户类 public class User private String name private int age public String getName return name public void se
  • 通过实例告诉你lua中ipairs到底是怎么遍历的!

    这个的文章挺多的 但是有好几种说法并且不全 有人说是忽略手动设定值 有人说是从1开始数 直到序号断开 还有人给出结果 但是和我实机测试的效果不一样 所以我自己总结一篇 经过我的测试和总结得到以下结论 ipairs是一个专用的遍历函数 主要用
  • 艾伦·麦席森·图灵

    艾伦 麦席森 图灵 艾伦 麦席森 图灵 英语 Alan Mathison Turing 1912年6月23日 1954年6月7日 英国数学家 逻辑学家 被称为计算机科学之父 人工智能之父 1931年图灵进入剑桥大学国王学院 毕业后到美国普林
  • kettle问题:The last packet successfully received from the server was 156 milliseconds ago.

    在使用kettle时遇到MySQL数据库连接问题 1 Navicat可以连接到目标MySQL库 说明不是数据库权限的问题 2 用kettle可以连接其他同版本MySQL库 说明也不是jar包的问题 最终 尝试过重启电脑 删除kettle文件
  • Android之媒体扫描

    媒体扫描时序图 看了上面的时序图是否感觉比较绕 一会Java层 一会Native层 其实只要了解它们为什么这样做就比较好理解为什么这样做了 第一次 扫描路径 查找媒体文件 找到媒体文件之后就告知上层 第二次 上层收到Native层已找到媒体
  • 大数据处理及其研究进展

    一 大数据基本概念 大数据Big Data是指大小超出了常用的软件工具在运行时间内可以承受的收集 管理和处理数据能力的数据集 大数据是目前存储模式与能力 计算模式与能力不能满足存储与处理现有数据集规模产生的相对概念 大数据的预处理 主要完成
  • vue组件的分类

    vue组件的分类 一般来说 Vue js 组件主要分成三类 由 vue router 产生的每个页面 它本质上也是一个组件 vue 主要承载当前页面的 HTML 结构 会包含数据获取 数据整理 数据可视化等常规业务 整个文件相对较大 但一般
  • freeRTOS使用uxTaskGetStackHighWaterMark函数查看任务堆栈空间的使用情况

    摘要 每个任务都有自己的堆栈 堆栈的总大小在创建任务的时候就确定了 此函数用于检查任务从创建好到现在的历史剩余最小值 这个值越小说明任务堆栈溢出的可能性就越大 FreeRTOS 把这个历史剩余最小值叫做 高水位线 此函数相对来说会多耗费一点
  • 我人傻了,阿里面试怎么这么难!三面侥幸拿到offer,坎坷经历分享

    阿里的招聘十分火热 基本上全年都是铺天盖地的宇宙条的招聘信息 但是其实录取率并不高 无论是找后端方向还是其它方向 我相信整个面试的过程和时间节点都能对你有一定的帮助 阿里的面试流程基本上是我面过的公司中最快的 效率最高的 整体上来说 面试的
  • EMC 共模电感选型

    最近开通了公众号 有文章更新 刚兴趣可以关注一下 谢谢 1 EMI 共模电流的产生机理 a 差分电流产生差模电磁场 使得差分回路面积内的走线产生共模电流 b 共模电流 辐射主要源头 工作电流经过单板地 由于地阻抗的存在 形成地上共模电压 地
  • Basic Level 1087 有多少不同的值 (20分)

    题目 当自然数 n 依次取 1 2 3 N 时 算式 n 2 n 3 n 5 有多少个不同的值 注 x 为取整函数 表示不超过 x 的最大自然数 即 x 的整数部分 输入格式 输入给出一个正整数 N 2 N
  • PID自控理论(频域bode图理论分析)

    PID 迟后超前矫正 临界比例度法整定PID 在低频区 主要是PI控制器起作用 用以提高系统型别消除或减小稳态误差 在中 高频区 主要是PD控制器起作用 用以增大幅值穿越频率和相位裕度 提高系统的响应速度 因此 PID控制器可以全面地提高系
  • 游戏数据运营--2.新版本效果分析案例

    文本内容如下 游戏B 新版本效果分析 游戏B 2017年1月1日4 0版本效果数据如下 1 新用户登录的激活转化率相比3 9版本提高10 目前为27 2 4 0版本首周日活跃人数比之前提高16 目前日均活跃达到10万人 点卡用户在线时长提高
  • Vuex有那几种状态和属性?

    vuex的流程 页面通过mapAction异步提交事件到action action通过commit把对应参数同步提交到mutation mutation会修改state中对于的值 最后通过getter把对应值跑出去 在页面的计算属性中 通过