【Vue3】Pinia状态管理

news2024/11/26 12:51:57

Pinia

      • pinia与Vuex的对比
          • pinia的介绍
          • pinia与Vuex区别:
          • pinia的使用
          • 使用准备步骤一:新建文件导入pinia
          • 使用准备步骤二:挂载pinia
      • 创建pinia的Store
          • 新建页面。创建对应的Store
          • 页面使用pinia的store
      • Pinia核心概念State
          • 操作State一
          • 重置state
          • 改变state
          • 替换state
      • Pinia核心概念Getters
          • 直接使用
          • getters使用当前页面其他getters
          • getters返回函数
          • getters使用别的store的数据
      • Pinia核心概念Actions
          • 基本使用
          • 异步请求

在这里插入图片描述

pinia与Vuex的对比

pinia的介绍
  • 本质是一个状态管理库,用于跨组件,页面进行状态共享
  • 用起来像组合式Api
  • 与Vuex相比,pinia提供了更简单的Api,具有更少的仪式,提供了Composition-API风格的API
  • 最重要的是,与TypeScript一起使用具有更可靠的类型推断支持
pinia与Vuex区别:
  • mutation不再存在
  • 更友好的TypeScript支持
  • modules的嵌套结构不再存在
  • 命名空间这些也不再存在
pinia的使用
  • 安装pinia
npm i pinia
使用准备步骤一:新建文件导入pinia

在这里插入图片描述

使用准备步骤二:挂载pinia

在这里插入图片描述

创建pinia的Store

新建页面。创建对应的Store
  • Store 是使用 defineStore() 定义的
  • 并且它需要一个唯一名称,作为第一个参数传递
  • 第一个参数是应用程序中 store 的唯一 id
  • 这个 name,也称为 id,是必要的,Pinia 使用它来将 store 连接到 devtools
  • 也建议将返回的函数命名为 use… 是跨可组合项的约定
    在这里插入图片描述
页面使用pinia的store

在这里插入图片描述

Pinia核心概念State

操作State一
  • 为了从 store 中提取属性时保持其响应性,你需要使用 storeToRefs()。
    在这里插入图片描述
重置state
  • 你可以通过store上的$reset()方法将状态重置到其初始值
    在这里插入图片描述
改变state
  • 除了直接使用store.xxx++,修改store,还可以调用$patch()方法进行同时修改多个值
  • 可以使用部分state对象同时修改应用多个更改
    在这里插入图片描述
替换state
  • 可以使用$state属性设置为新对象来替换整个Store
    在这里插入图片描述

Pinia核心概念Getters

  • 相当于Store的计算属性
  • getters可以定义接收一个state作为参数的函数
直接使用

在这里插入图片描述

  • 页面上直接使用即可
    在这里插入图片描述
getters使用当前页面其他getters
  • 通过this来访问到当前store实例上所以的其他属性
    在这里插入图片描述
getters返回函数

在这里插入图片描述###

 <div>修改的getters:{{ homeStore.fungetters(1) }}</div>
getters使用别的store的数据

在这里插入图片描述

Pinia核心概念Actions

  • 相当于组件中的methods
  • 可以使用defineStore()中的action属性定义,并且他们非常适合定义业务逻辑
  • 和getters一样,通过this访问
基本使用

在这里插入图片描述
在这里插入图片描述

异步请求

在这里插入图片描述

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

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

相关文章

SciencePub学术 | 计算机智能类重点SCIEEI征稿中

SciencePub学术 刊源推荐: 计算机智能类重点SCIE&EI征稿中&#xff01;信息如下&#xff0c;录满为止&#xff1a; 一、期刊概况&#xff1a; 计算机智能类重点SCIE&EI 【期刊简介】IF&#xff1a;1.0-1.5&#xff0c;JCR4区&#xff0c;中科院4区&#xff1b; 【检…

Google Play商店优化排名因素之应用标题

对于用户数量和应用数量而言&#xff0c;Google Play 商店是最大的应用商店。市场巨大&#xff0c;同时机遇也巨大。然而由于有近 250 万个应用程序&#xff0c;竞争也同样激烈。 1、应用程序标题是所有排名因素中最强的。 与Apple的30个字符限制相反&#xff0c;Google Play商…

初识Java 1-1 面向对象的语言

目录 引用的作用 数据的储存 常见的数据储存方式 特殊储存的基本类型 数组 销毁对象 基本类型的作用域 对象的作用域 创建新类型 - class关键字 方法、参数和返回值 参数列表 编写程序 名称可见性 使用组件 static关键字 Java程序 编程风格&#xff08;驼峰式…

SAP从放弃到入门系列之abapGit更新与卸载

目录概览 概述一、更新1.1 独立版本1.2 开发者版本1.2.1 在线更新1.2.2 离线更新 1.3 更新版本常见问题 二、卸载abapGit 概述 我们就以更新abapGit为例,通过abapGit管理我们的代码其实操作时相似的&#xff0c;更新独立版本就有点像最原始的没有版本管理工具时的版本管理方式…

Elasticsearch中倒排索引、分词器、DSL语法使用介绍

&#x1f353; 简介&#xff1a;java系列技术分享(&#x1f449;持续更新中…&#x1f525;) &#x1f353; 初衷:一起学习、一起进步、坚持不懈 &#x1f353; 如果文章内容有误与您的想法不一致,欢迎大家在评论区指正&#x1f64f; &#x1f353; 希望这篇文章对你有所帮助,欢…

研磨设计模式day14模板方法模式

目录 场景 原有逻辑 有何问题 解决方案 解决思路 代码实现 重写示例 模板方法的优缺点 模板方法的本质 何时选用 场景 现在模拟一个场景&#xff0c;两个人要登录一个系统&#xff0c;一个是管理员一个是用户&#xff0c;这两个不同身份的登录是由后端对应的两个接…

Metasploit“MSF”连接postgresql时因排序规则版本不匹配导致无法连接

一、问题 更新Kali之后使用Metasploit时出现一个问题&#xff0c;连接postgresql时因排序规则版本不匹配导致无法连接 警告: database "msf" has a collation version mismatch DETAIL: The database was created using collation version 2.36, but the operati…

SpringBoot使用Druid连接池 + 配置监控页面(自定义版 + starter版)

目录 1. Druid连接池的功能2. 自定义版2.1 pom.xml添加依赖2.2 MyDataSourceConfig实现2.3 application.properties配置编写Controller进行测试2.4 druid监控页面查看 3. starter版3.1 pom.xml添加依赖3.2 自动配置分析3.3 使用application.properties对druid进行配置3.4 druid…

Git分支机制

一、分支机制简述 要想真正理解Git的分支机制&#xff0c;我们要首先回过头来看一下Git是如何存储数据的。 Git并没有采用多个变更集( changeset )或是差异的方式存储数据&#xff0c;而是采用一系列快照的方式。当你发起提交时&#xff0c;Git存储的是提交对象( commi…

无涯教程-机器学习 - 箱形图函数

Box和Whisker图(也简称为boxplots)是另一种有用的技术&#xff0c;可用于检查每个属性的分布情况。以下是此技术的特点- 它本质上是单变量的&#xff0c;总结了每个属性的分布。它为中间值(即中位数)画一条线。它将在25&#xff05;和75&#xff05;周围绘制一个框。它还会绘制…

ant-vue1.78版a-auto-complete表单自动搜索返回列表中的关键字标红

a-auto-complete表单自动搜索返回列表中的关键字标红 通常在做关键字标红的场景&#xff0c;都是后端返回html结构&#xff0c;前端直接渲染实现&#xff0c;但是如果需要前端处理的话&#xff0c;实现也是很简单的&#xff0c;接下来我直接上应用场景吧 应用场景就是通过关键…

mysql 存储引擎系列 (一) 基础知识

当前支持存储引擎 show engines&#xff1b; 显示默认存储引擎 select default_storage_engine; show variables like ‘%storage%’; 修改默认引擎 set default_storage_enginexxx 或 set default_storage_enginexxx; my.ini 或者 my.cnf ,需要重启 服务才能生效 systemctl …

什么事synchronized的升级

今天我们继续学习synchronized的升级过程&#xff0c;目前只剩下最后一步了&#xff1a;轻量级锁->重量级锁。 通过今天的内容&#xff0c;希望能帮助大家解答synchronized都问啥&#xff1f;中除锁粗化&#xff0c;锁消除以及Java 8对synchronized的优化外全部的问题。 获…

校招算法题实在不会做,有没有关系?

文章目录 前言一、校招二、时间复杂度1、单层循环2、双层循环 三、空间复杂度四、数据结构五、校招算法题实在不会做&#xff0c;有没有关系&#xff1f;六、英雄算法集训 前言 英雄算法联盟八月集训 已经接近尾声&#xff0c;九月算法集训将于 09月01日 正式开始&#xff0c;目…

【uniapp】this有时为啥打印的是undefined?(箭头函数修改this)

&#x1f609;博主&#xff1a;初映CY的前说(前端领域) ,&#x1f4d2;本文核心&#xff1a;uniapp中this指向问题 前言&#xff1a;this大家知道是我们当前项目的实例&#xff0c;我们可以在这个this上面拿到我们原型上的全部数据。这个常用在我们在方法中调用其他方法使用。 …

java-什么是 CAS( 比较并交换-乐观锁机制-锁自旋)

1.什么是 CAS&#xff08; 比较并交换-乐观锁机制-锁自旋&#xff09; 1.1. 概念及特性 CAS&#xff08;Compare And Swap/Set&#xff09;比较并交换&#xff0c;CAS 算法的过程是这样&#xff1a;它包含 3 个参数CAS(V,E,N)。V 表示要更新的变量(内存值)&#xff0c;E 表示…

el-date-picker限制选择的时间范围

<el-date-pickersize="mini"v-model="dateTime"value-format="yyyy-MM-dd HH:mm:ss"type="datetimerange"range-separator="~"start-placeholder="开始日期"end-placeholder="结束日期":picker-opti…

零信任体系化能力建设(5):数据安全与控制跟踪

在数字化世界中&#xff0c;一切皆源于数据。无论任何时候、任何地方和任何环境&#xff0c;组织都需要保护数据免受未经授权的访问和泄露&#xff0c;确保核心资产和业务的连续性&#xff0c;并获得客户的信任和忠诚度。 然而&#xff0c;这些跨领域、相互交叉的数据来自于不…

探索昏暗光线下人脸检测,基于YOLOv5[n/s/m/l/x]全系列模型开发构建人脸检测系统,对比分析精度效果

昏暗光线下的目标检测是一个比较小众的场景&#xff0c;之前也有读过一些相关的论文&#xff0c;专门有论文基于这个场景去开发算法模型&#xff0c;目的就是基于这种特定的场景实现性能的提升&#xff0c;那么原生的模型在这种程度的数据下能有什么样的表现效果呢&#xff1f;…

ssm彩妆小样售卖商城源码和论文

ssm彩妆小样售卖商城源码和论文073 开发工具&#xff1a;idea 数据库mysql5.7 数据库链接工具&#xff1a;navcat,小海豚等 技术&#xff1a;ssm 摘 要 随着科学技术的飞速发展&#xff0c;各行各业都在努力与现代先进技术接轨&#xff0c;通过科技手段提高自身的优势&…