当前位置: 首页 > news >正文

Vuex状态管理:Getters :VOA模式

简介:

Getters 用于对 Store 中的数据进行加工处理形成新的数据。

Getters 可以对 Store 中已有的数据加工处理之后形成新的数据,类似 Vue 的计算属性。
Store 中数据发生变化,Getters 的数据也会跟着变化。

案列

/src/store/index.js状态管理器

import axios, { Axios } from 'axios';
import { CHANGE_APPISSHOW } from './type.js'
import { createStore } from 'vuex'const store = createStore({state() {return {appIsShow: true,datalist: [],}},//同步mutations: {changeAppIsShow(state, boolParams) {state.appIsShow = boolParams;},dataListInit(state, arrParams) {state.datalist = arrParams;}},//异步+同步:action不能直接修改state()中的数据,它是也是向mutations提交数据来修改的。actions: {async getDataList(store) {//异步const result = await axios({url: "https://m.maizuo.com/gateway?cityId=110100&ticketFlag=1&k=3777796",headers: {'X-Client-Info': '{"a":"3000","ch":"1002","v":"5.2.1","e":"16992764191480200349024257","bc":"110100"}','X-Host': 'mall.film-ticket.cinema.list'}});console.log("获取数据")//同步:向mutations提交数据:触发dataListInit函数,并向函数传递了一个数组参数store.commit("dataListInit", result.data.data.cinemas);}},//getters:就相当于vue的计算属性。为什么vue有computed计算属性了,这里还要搞一个getters呢?那是因为架构师想尽可能的把数据的处理过程放到vuex中,vue就作为一个展示数据的地方,实现纯粹的业务,数据分离//getters:的函数传递参数需要放到匿名函数中来做getters: {filterDataList(state) { //这个state就是state()中的数据return (intParams) => { //这个intParams就是触发filterDataList这个函数的调用方(我们自己)传递的// return state.datalist.filter(item => {//     return item.eTicketFlag === 0// })//注意上面注释代码中匿名函数item=>{return item.eTicketFlag === 0} :加了{}就需要在里面多一个returnreturn state.datalist.filter(item =>item.eTicketFlag==intParams)}}}
});export default store

main.js 注册状态状态管理器

import { createApp } from 'vue'
import './style.css'
import App from './App.vue'//import store from "../src/store" //状态管理器js          注意:如果仅仅是指定了一个文件夹router,程序会自动去router文件夹下寻找index.js,并导入
//import store from "../src/store/index" //导入状态管理器js    注意:.js可以省略
//import store from "../src/store/myindex.js" //导入状态管理器js  注意:如果我们的状态管理器文件不是index.js 那么我们就得指定具体的名称了import store from "../src/store/index.js" //导入状态管理器js var app=createApp(App)app.use(store)  //注册vuex插件:状态管理器app.mount("#app")

在组件中使用

<template><select v-model.number="type"><option :value="0">App订票</option> <!--:value="0" 用数据绑定的形式,则它的值是数值类型的--><option :value="1">前台兑换</option></select><div><ul><!--从store的getters中获取数据--><li v-for="item in $store.getters.filterDataList(type)" :key="item.cinemaId">{{ item.name }}</li><!-- 如果不需要传递参数()可以不写 --><!-- <li v-for="item in $store.getters.filterDataList" :key="item.cinemaId">{{ item.name }}</li> --></ul></div>
</template>
<script>
export default {data() {return {type:0}},mounted() {if (this.$store.state.datalist.length === 0) {//如果数据为空,则去触发actions的中的getDataList方法,达到获取datalist数据的目的。而this.$store.state.datalist中的数据存在内容中,其他地方需要这个数据直接从内存中取,相当于有个缓存,this.$store.dispatch("getDataList");}},
}
</script>

相关文章:

Vuex状态管理:Getters :VOA模式

简介&#xff1a; Getters 用于对 Store 中的数据进行加工处理形成新的数据。 Getters 可以对 Store 中已有的数据加工处理之后形成新的数据&#xff0c;类似 Vue 的计算属性。 Store 中数据发生变化&#xff0c;Getters 的数据也会跟着变化。 案列 /src/store/index.js状态…...

二十三种设计模式全面解析-享元模式(Flyweight Pattern)详解:构建高效共享的对象结构

在软件开发中&#xff0c;我们经常会面临大量相似对象的创建和管理问题。这些相似对象的创建和销毁过程可能会占用大量的内存和系统资源&#xff0c;导致性能下降。为了解决这个问题&#xff0c;享元模式&#xff08;Flyweight Pattern&#xff09;应运而生。本文将深入探讨享元…...

华为ensp:交换机接口划分vlan

现在要把 e0/0/1 接口放入vlan1 e0/0/2 接口放入vlan2 e0/0/3 接口放入vlan3 默认所有接口都在vlan1所以 e0/0/0 接口不用动 1.创建vlan 进入系统视图模式 直接输入 vlan 编号 即可创建对应vlan vlan 编号 vlan 2 创建vlan2 vlan 3 创建vlan3 2.将接口进入vlan…...

PCBA表面污染的分类及处理方法

NO.1 引言 在PCBA生产过程中&#xff0c;锡膏和助焊剂会产生残留物质&#xff0c;残留物中包含的有机酸和电离子&#xff0c;前者易腐蚀PCBA&#xff0c;后者会造成焊盘间短路故障。且近年来&#xff0c;用户对产品的清洁度要求越来越严格&#xff0c;PCBA清洗工艺逐渐被电子组…...

Linux开发工具之编辑器vim

文章目录 1.vim是啥?1.1问问度娘1.2自己总结 2.vim的初步了解2.1进入和退出2.2vim的模式1.介绍2.使用 3.vim的配置3.1自己配置3.2下载插件3.3安装大佬配置好的文件 4.程序的翻译 1.vim是啥? 1.1问问度娘 1.2自己总结 vi/vim都是多模式编辑器&#xff0c;vim是vi的升级版本&a…...

【Hadoop实战】Hadoop指标系统V2分析

Hadoop指标系统V2分析 文章目录 Hadoop指标系统V2分析架构主要组成部分根据图表解释数据流向指标过滤JMX的应用开启指标系统的组件指标项说明 使用HTTP&#xff08;JMXJsonServlet&#xff09;获取指标接口调用方式GET查询的逻辑数据的来源&#xff0c;以及更新的原理 架构 在…...

【java:牛客每日三十题总结-5】

java:牛客每日三十题总结 总结如下 总结如下 -Xmx&#xff1a;最大堆大小 -Xms&#xff1a;初始堆大小 -Xmn:年轻代大小 -XXSurvivorRatio&#xff1a;年轻代中Eden区与Survivor区的大小比值 年轻代5120m&#xff0c; Eden&#xff1a;Survivor3&#xff0c;Survivor区大小102…...

【Redis】set常用命令集合间操作内部编码使用场景

文章目录 前置知识常见命令SADDSMEMBERSSISMEMBERSCARDSPOPSMOVESREM 集合间操作SINTERSINTERSTORESUNIONSUNIONSTORESDIFFSDIFFSTORE 命令小结内部编码测试内部编码 使用场景 前置知识 集合类型也是保存多个字符串类型的元素的&#xff0c;但和列表类型不同的是&#xff0c;在…...

94. 二叉树的中序遍历 --力扣 --JAVA

题目 给定一个二叉树的根节点 root &#xff0c;返回 它的 中序 遍历 。 解题思路 中序遍历的顺序为左中右&#xff1b;通过递归来遍历左子树、添加数据、遍历右子树&#xff1b; 代码展示 package zero.zero.nine;import java.util.ArrayList; import java.util.List;/*** …...

webpack babel

构建工具 简介 当我们习惯了在node中编写代码的方式后&#xff0c;在回到前端编写html、css、js这些东西会感觉到各种的不便。比如&#xff1a;不能放心的使用模块化规范&#xff08;浏览器兼容性问题&#xff09;、即使可以使用模块化规范也会面临模块过多时的加载问题。我们…...

autollm 指令设计

autollm 指令设计 可循环示意图文本 示意图AI解释可循环示意图 文本 示意图 # <|aos|>环境<|bos|>他人<|cos|>自己<|dos|>表示是否进行写python 代码来从外界获取辅助数据来重构 前面所有的信息<|eos|>代表是否生成python 代码控制各种外审设备…...

浙江大学漏洞报送证书

获取来源&#xff1a;edusrc&#xff08;教育漏洞报告平台&#xff09; url&#xff1a;主页 | 教育漏洞报告平台 兑换价格&#xff1a;20金币 获取条件&#xff1a;提交浙江大学任意中危或以上级别漏洞...

ROS 学习应用篇(三)服务Server学习之Server

话题Topic是订阅器与发布器节点之间的&#xff0c;而服务则是客户端&#xff08;Client&#xff09;和服务器&#xff08;Server&#xff09;间的&#xff0c;前者是异步的&#xff0c;后者是同步的。而且话题是单项的不需要服务器上线&#xff0c;而服务是双向的。在开启服务之…...

vue+css动画 实现文字的上下轮播切换

突然间碰到一个比较丝滑的特效,就研究了一下想把它实现出来。 效果:渐隐消失,底部往上走覆盖出现 以下是完整代码,复制粘贴即可运行 <template><div class="aaa"><divclass="page1":class="{ private-fade-out: prevIndex === 1…...

debian/ubuntu/windows配置wiregurad内网服务器(包含掉线自启动)

文章目录 前言一、服务器配置安装wireguard软件生成私钥公钥配置服务器参数配置服务器sysctl参数启动、停止服务端 二、用户端配置安装wireguard软件生成私钥公钥配置客户端参数启动、停止客户端配置服务开机启动 三、服务器添加、删除客户四、配置掉线自启动配置掉线自启动脚本…...

LeetCode146.LRU缓存

写了一个小时&#xff0c;终于把示例跑过了&#xff0c;没想到啊提交之后第19/22个测试用例没过 我把测试用例的输出复制在word上看看和我的有什么不同&#xff0c;没想到有18页的word&#xff0c;然后我一直检查终于找出了问题&#xff0c;而且这个bug真的太活该了&#xff0c…...

5-7 使用函数求余弦函数的近似

实现一个函数&#xff0c;用下列公式求cos(x)的近似值&#xff0c;精确到最后一项的绝对值小于e&#xff1a;‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬…...

Kotlin HashMap entries.filter过滤forEach

Kotlin HashMap entries.filter过滤forEach fun main(args: Array<String>) {val hashMap HashMap<String, Int>()hashMap["a"] 1hashMap["b"] 2hashMap["c"] 3println(hashMap)hashMap.entries.filter {println("filter $…...

css的预处理

CSS的预处理器是一种CSS的扩展&#xff0c;可以让开发者使用更加高效、灵活的方式来编写CSS代码。 常用的CSS预处理器包括&#xff1a; Sass&#xff1a;基于Ruby的CSS预处理器&#xff0c;提供了大量的函数和变量等扩展功能。 Less&#xff1a;基于JavaScript的CSS预处理器&…...

[云原生案例2.2 ] Kubernetes的部署安装 【单master集群架构 ---- (二进制安装部署)】网络插件部分

文章目录 1. Kubernetes的网络类别2. Kubernetes的接口类型3. CNI网络插件 ---- Flannel的介绍及部署3.1 简介3.2 flannel的三种模式3.3 flannel的UDP模式工作原理3.4 flannel的VXLAN模式工作原理3.5 Flannel CNI 网络插件部署3.5.1 上传flannel镜像文件和插件包到node节点3.5.…...

SITS2026案例深度复盘:从0到上线仅72小时,AI创意生成如何提升广告CTR 317%?

第一章&#xff1a;SITS2026案例&#xff1a;AI广告创意生成 2026奇点智能技术大会(https://ml-summit.org) SITS2026&#xff08;Smart Intelligence & Transformation Summit 2026&#xff09;联合多家头部广告平台与AIGC实验室&#xff0c;落地了“AI广告创意生成”生…...

Qwen3.5-9B-AWQ-4bit图文问答教程:如何规避‘未识别文字’类失败提示

Qwen3.5-9B-AWQ-4bit图文问答教程&#xff1a;如何规避未识别文字类失败提示 1. 模型简介与核心能力 千问3.5-9B-AWQ-4bit是一个基于量化技术的多模态大模型&#xff0c;特别擅长处理图像与文本的交互任务。这个版本通过AWQ(Activation-aware Weight Quantization)技术将原始…...

PS 快速抠公章:不用钢笔,3 秒搞定红色印章

在办公自动化、文档处理或设计工作中&#xff0c;经常需要将扫描件、图片中的公章单独提取出来&#xff0c;用于电子文档、合同签署、设计素材等场景。但很多人用PS抠公章后&#xff0c;要么边缘毛糙、色彩失真&#xff0c;要么背景残留白边、文字叠加难以去除&#xff0c;新手…...

AI硬件洗牌,录音笔逆势升温!谁能在这场竞争中脱颖而出?

AI硬件洗牌&#xff0c;录音笔逆势升温 过去两年&#xff0c;AI硬件赛道经历了残酷洗牌。AI Pin退场&#xff0c;Rabbit R1口碑崩塌&#xff0c;“AI原生硬件”概念光环不再。然而&#xff0c;AI录音笔这一略显传统的品类却悄然升温。2025年&#xff0c;字节跳动旗下飞书联合安…...

用Dex-Net 2.0数据集训练自己的抓取检测模型:一个绕过数据瓶颈的实战思路

利用Dex-Net 2.0数据集突破机器人抓取研究的数据困境&#xff1a;轻量化实战指南 在机器人抓取研究领域&#xff0c;数据匮乏往往是制约个人研究者和小型团队的最大瓶颈。当大型科技公司能够投入数百万美元构建专用数据集时&#xff0c;独立研究者该如何在有限资源下开展前沿研…...

MAA自动化框架技术揭秘:计算机视觉驱动的游戏任务智能调度系统实现原理

MAA自动化框架技术揭秘&#xff1a;计算机视觉驱动的游戏任务智能调度系统实现原理 【免费下载链接】MaaAssistantArknights 《明日方舟》小助手&#xff0c;全日常一键长草&#xff01;| A one-click tool for the daily tasks of Arknights, supporting all clients. 项目地…...

2026广交会启幕,服务机器人专区亮点多,国产机器人出海竞争与多元应用前景并存

服务机器人外贸战&#xff0c;苏州和深圳打起了擂台一年举办两届的广交会&#xff08;中国进出口商品交易会&#xff09;&#xff0c;于今日开启2026年第139届的盛大篇章。第139届广交会参展企业超3.2万家&#xff0c;其中拥有专精特新、单项冠军等称号的优质企业超1.1万家&…...

BMP280传感器在STM32F103C8T6上的三种玩法:I2C、SPI模式切换与性能对比

BMP280传感器在STM32F103C8T6上的三种玩法&#xff1a;I2C、SPI模式切换与性能对比 当我们需要在嵌入式系统中集成环境传感器时&#xff0c;BMP280无疑是一个经典选择。这款数字气压传感器不仅能提供精确的气压和温度数据&#xff0c;还支持多种通信接口&#xff0c;为不同应用…...

SMUDebugTool终极指南:4步掌握AMD Ryzen处理器深度调试与优化

SMUDebugTool终极指南&#xff1a;4步掌握AMD Ryzen处理器深度调试与优化 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址: htt…...

终极指南:如何在PC上使用Ryujinx模拟器畅玩Switch游戏

终极指南&#xff1a;如何在PC上使用Ryujinx模拟器畅玩Switch游戏 【免费下载链接】Ryujinx 用 C# 编写的实验性 Nintendo Switch 模拟器 项目地址: https://gitcode.com/GitHub_Trending/ry/Ryujinx 想在电脑上体验《塞尔达传说&#xff1a;旷野之息》的震撼画面&#…...