vue3中 状态管理pinia得使用

news2024/12/23 14:35:11

在做项目中 vue2改造vue3项目时的vuex 发生得一些变化

vue3项目中

在这里插入图片描述

先看下 stores.js

import { defineStore } from 'pinia'  引入方法注册方法
import { getListFieldLevel } from '..api/index.js'

export const useScreenStore = defineStore('screen', {
  state: () => ({
    fieldList: [],  定义
    instanceCodeOptions: ['11']
  }),
  actions: {  通过actions改变state的值
    async queryFieldList(vo) {
      try {
        let data
        let res = await getListFieldLevel(vo)
        data = res.data
        const fieldSelect = (data || []).map((item) => {
          let obj = {
            ...item,
            id: getInstanceType('333333')
          }
          return obj
        })
        this.fieldList = fieldSelect
        return fieldSelect
      } catch (err) {
        this.fieldList = []
        return []
      }
    },
    setInstanceCodeOptions(vo) {
      this.instanceCodeOptions = { ...this.instanceCodeOptions, ...vo }
    }
  }
})


function getInstanceType(item) {
  return Number(item)
}
  • 外面使用
import { mapState, mapActions } from 'pinia'
import { useScreenStore } from '@/stores/screenStore'


computed: {
    ...mapState(
      useScreenStore, 
      {instanceCodeOptions: (store) => store.instanceCodeOptions || {} }
    ),
  },
 methods: {
           
    ...mapActions(useScreenStore, ['setInstanceCodeOptions']),
    //useScreenStore 知道是那个store下的方法    
    open(){
     this.setInstanceCodeOptions('444')  直接調用setInstanceCodeOptions方法
     console.log(this.instanceCodeOptions)
    }
  }

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

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

相关文章

MySQL:MHA高可用

目录 1.什么是 MHA 2.MHA 的组成 3.MHA 的特点 4、MHA工作原理 5、搭建 MySQL MHA 5.1 实验思路 5.1.1 MHA架构 5.1.2 故障模拟 5.2 实验环境 5.3 准备工作 5.4 安装MHA所有组件与测试 5.4.1 安装 MHA 软件 5.4.2 manager与node工…

动态内存管理之柔性数组

柔性数组: 只存在于结构体中,而且还要是结构体的最后一个成员,并且在他的前面必须要有其他成员, 大小是未知的,所以在用sizeof计算出的结构体大小是出柔性数组外的, 柔性数组的大小是可以变化的&#xff0…

Staples Drop Ship EDI 需求分析

Staples 是一家美国零售公司,总部位于马萨诸塞州弗拉明汉,主要提供支持工作和学习的产品和服务。该公司于 1986 年在马萨诸塞州布莱顿开设了第一家门店。到 1996 年,该公司已跻身《财富》世界 500 强,后来又收购了办公用品公司 Qu…

小学期笔记——天天酷跑7

玩家吃金币的动作是加分的事件源 吃到炸弹更改游戏角色的生命状态 if (person.x person.width > bomb2.x&& person.x < bomb2.width bomb2.x&& person.y person.height > bomb2.y&& person.y < bomb2.y bomb2.height) 效果&#xff1…

OpenShift 4 - 可观测性之用 OpenTelemetry+Jaeger 实现 Distributed Tracing

《OpenShift / RHEL / DevSecOps 汇总目录》 说明&#xff1a;本文已经在支持 OpenShift 4.13 的环境中验证 文章目录 技术架构部署 Distributed Tracing 运行环境安装测试应用并进行观测跟踪参考 说明&#xff1a; 本文使用的测试应用采用的是 “手动 Instrumentation” 方式在…

【雕爷学编程】Arduino动手做(85)---LCD1602液晶屏模块6

37款传感器与执行器的提法&#xff0c;在网络上广泛流传&#xff0c;其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块&#xff0c;依照实践出真知&#xff08;一定要动手做&#xff09;的理念&#xff0c;以学习和交流为目的&am…

02 linux 基础(2)

shell 基本维护命令 获取联机帮助 使用 man 命令可以找到特定的联机帮助页&#xff0c;并提供简短的命令说明。一般语法格式为&#xff1a; 联机帮助页提供了指定命令 commandname 的相关信息&#xff0c;包括&#xff1a;名称、函数、语法以及可选参数描述等。无论帮助有多长…

PyAutoGUI

概述 PyAutoGUI是一个纯Python开发的跨平台GUI自动化工具&#xff0c;它是通过程序来控制计算机的键盘和鼠标的操作&#xff0c;从而实现自动化功能。所谓的GUI是指图形用户界面&#xff0c;即通过图形方式来显示计算机的界面&#xff0c;早期的计算机是以命令行界面来操作&am…

Vector3.Cross

上期介绍了Vector.Dot可以用来判断敌人处于自身的前方or后方&#xff0c;那么这期就是通过叉乘来判断敌人处于自身的左方or右方 public class CrossTest : MonoBehaviour {public GameObject sphere;public GameObject cube;// Start is called before the first frame updatev…

性能测试工具 Locust + Boomer In Docker

目录 前言&#xff1a; 背景 启动 Locust-master Boomer 调试模式启动 boomer locust worker 模式启动 get 请求 post 请求 指定请求头 直接使用 curl 命令 动态读取 csv --json-value-type 说明 前言&#xff1a; Locust 是一种开源的性能测试工具&#xff0c;可…

【js小游戏案例】纯前端实现飞机大战,附带源码

技能&#xff1a; 使用html js css实现飞机大战小游戏 需求&#xff1a; 我军飞机左右移动&#xff0c;并且按空格 可以发射炮弹&#xff0c;敌方飞机从上往下飞&#xff0c;接触到我方炮弹 飞机被歼灭&#xff0c;我军接触到敌军飞机也将会被歼灭&#xff0c;我方飞机吃到道…

【C++】vector类的模拟实现(增删查改,拷贝构造,赋值运算,深浅拷贝)

文章目录 前言一、 整体1.命名空间:2构造函数&#xff1a;1普通构造2迭代器构造3初始化字符构造4拷贝构造&#xff1a; 3析构函数 二、成员函数实现1.大小1当前大小(size())2总体容量(capacity()) 2.返回头尾迭代器1begin&#xff08;&#xff09;2end&#xff08;&#xff09;…

改进的北方苍鹰算法优化BP神经网络---回归+分类两种案例

今天采用前作者自行改进的一个算法---融合正余弦和折射反向学习的北方苍鹰(SCNGO)优化算法优化BP神经网络。 文章一次性讲解两种案例&#xff0c;回归与分类。回归案例中&#xff0c;作者选用了一个经典的股票数据。分类案例中&#xff0c;选用的是公用的UCI数据集。 BP神经网络…

达芬奇密码

《达芬奇密码》是一款由德国人发明的桌游&#xff0c;游戏由2-4个人组成。每个玩家执有一定的数字牌&#xff0c;玩家需隐藏你的数字密码&#xff0c;猜透对手的密码&#xff0c;推测可能的答案&#xff0c;打败对手。 24 块塑料立牌&#xff0c;12 个黑色和12个白色。每块上数…

7-25作业

思维导图 QT窗口代码 #include "widget.h"Widget::Widget(QWidget *parent): QWidget(parent) {qDebug()<< this->size();this->resize(1000,800);//设置宽高this->setFixedSize(1000,800);//固定宽高//窗口标题this->setWindowTitle("跟党走…

全志F1C200S嵌入式驱动开发(lcd屏幕驱动)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 lcd RGB屏幕作为比较经济、实用的显示工具,在实际场景中使用较多。它的信号来说,一般也比较简单,除了常规的数据信号,剩下来就是行同步、场同步、数据使能和时钟信号了。数据信…

LED芯片 VAS1260IB05E 带内部开关LED驱动器 汽车硬灯带灯条解决方案

VAS1260IB05E深力科LED芯片是一种连续模式电感降压转换器&#xff0c;设计用于从高于LED电压的电压源高效驱动单个或多个串联连接的LED。该设备在5V至60V之间的输入电源下工作&#xff0c;并提供高达1.2A的外部可调输出电流。包括输出开关和高侧输出电流感测电路&#xff0c;该…

【Linux】进程通信 — 管道

文章目录 &#x1f4d6; 前言1. 通信背景1.1 进程通信的目的&#xff1a;1.2 管道的引入&#xff1a; 2. 匿名管道2.1 匿名管道的原理&#xff1a;2.2 匿名管道的创建&#xff1a;2.3 父子进程通信&#xff1a;2.3.1 read()阻塞等待 2.4 父进程给子进程派发任务&#xff1a;2.5…

使用 OpenCV 进行图像模糊度检测(拉普拉斯方差方法)

写在前面 工作中遇到&#xff0c;简单整理人脸识别中&#xff0c;对于模糊程度较高的图像数据&#xff0c;识别率低&#xff0c;错误率高。虽然使用 AdaFace 模型&#xff0c;对低质量人脸表现尤为突出。但是还是需要对 模糊程度高的图像进行丢弃处理当前通过阈值分类&#xff…

8.python设计模式【组合模式】

内容&#xff1a;将对象组合成树形结构以表示“部分-整体”的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性。角色&#xff1a; 抽象组建&#xff08;component&#xff09;叶子组建(Leaf)复合组建(Composite)客户端 (Client) UML 图 举个例子 需求&#xf…