pinia---状态管理工具

state、actions、getters

对ts支持好

vuex和pinia区别

1. Vuex`的核心概念有:`state`,`getters`,`mutations`,`actions`,`moudles`五个部分
2. `Pinia`的核心概念有:`state`,`getter`,`action`三个部分

3. `Vuex`对state的修改推荐使用`mutations`中的方法进行修改,
4. `Pinia`直接对state进行修改

5. Pinia中 getter,action 也可通过 `this` 访问整个 store 实例

 

安装:npm install pinia

main.js

// 导入createApp函数
import { createApp } from 'vue'
import { createPinia } from 'pinia'
import App from './App.vue'// 创建pinia实例
const pinia = createPinia()//  创建App实例挂载到id为app的dom元素
const app = createApp(App)
app.use(pinia)app.mount('#app')

store/user.js

// 定义用户仓库
import { defineStore } from 'pinia'
// defineStore() 创建store实例的函数 
// 第一个参数 store的唯一标识 类似于模块
// 第二个参数 对象描述仓库可以提供state getters actions
// 返回值 是创建store实例的方法
// 规范 useXXXXStore
const useUserStore = defineStore('user',{// state getters actionsstate: ()=> {return  {userInfo: {username: 'admin',age: 20}}},//转成大写getters:{upperCase(){return this.userInfo.username.toUpperCase()}},//同步异步都可以actions:{change(){this.userInfo.username="香香"}}
})
//导出
// 导出user仓库实例的方法
export default useUserStore

App.vue

<template><div><button @click="change">按钮</button><p>{{ userStore.userInfo.username }}</p><button @click="userStore.change">第二种方式</button><!-- 变成大写 --><p>{{ userStore.upperCase }}</p></div>
</template><script setup>
import useUserStore  from './store/user'
const userStore =useUserStore ()
console.log(userStore)
const change=()=>{userStore.change()
}
</script><style></style>

 

pinia模块化

如果有多个模块ia,就需要导入很多,代码会很臃肿,所以在一个模块实现,app.vue只需要导入一次就能拿到值'

store/index.js'  

import useUserStore from "./user";
import useCounterStore from "./counter";export default function useStore() {return {user:  useUserStore(),counter: useCounterStore()}
}

 在App.vue

<template><p>{{store.counter.num}}</p>
</template>
//导入
import useStore from './store/index.js'
//调用赋值
const store=useStore()

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

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

相关文章

41、WEB攻防——通用漏洞XMLXXE无回显DTD实体伪协议代码审计

文章目录 XXE原理&探针&利用XXE读取文件XXE带外测试XXE实体引用XXE挖掘XXE修复 参考资料&#xff1a;CTF XXE XXE原理&探针&利用 XXE用到的重点知识是XML&#xff0c;XML被设计为传输和存储数据&#xff0c;XML文档结构包括XML声明、DTD文档类型定义&#xf…

操作系统(10)----死锁

目录 一.死锁、饥饿、死循环的区别 二.死锁产生的必要条件 三.什么时候会发生死锁 四.死锁的处理策略 1.预防死锁 &#xff08;1&#xff09;破坏互斥条件 &#xff08;2&#xff09;破坏不剥夺条件 &#xff08;3&#xff09;破坏请求和保持条件 &#xff08;4&#…

cx_oracle连接oracle的us7ascii数据集乱码问题

1.问题 oracle数据库使用到的字符集是us7ascii&#xff0c;总的来说就是ascii数据集&#xff0c;7位表示一个字符&#xff0c;对于英文还没有问题&#xff0c;但是遇到中文就G了。 查看自己数据库使用的字符集&#xff1a; SELECT value FROM nls_database_parameters WHERE …

【笔试常见易错选择题01】else、表达式、二维数组、%m.ns、%m.nf、常量指针和指针常量、宏定义、传参、数组越界、位段

1. 下列main()函数执行后的结果为&#xff08;&#xff09; int func(){ int i, j, k 0; for(i 0, j -1;j 0;i, j){ k; } return k; } int main(){cout << (func());return 0; }A. -1 B. 0 C. 1 D. 2 判断为赋值语句&#xff0c;j等于0 0为假不进循环 选B. 2. 下面程…

【Java万花筒】开启数字金融新纪元:深入解析开放银行与Java应用

Java支付大揭秘&#xff1a;从Stripe到Alipay&#xff0c;电子商务全覆盖 前言 在数字化时代&#xff0c;电子商务和支付领域蓬勃发展&#xff0c;而Java库作为开发者的得力工具&#xff0c;在整个过程中扮演着关键的角色。本文将深入探讨几个与电子商务和支付密切相关的Java…

虹科方案|释放总线潜力:汽车总线离线模拟解决方案

导读&#xff1a;传统的ECU模拟工具通常需要依赖上位机软件来发起通信&#xff0c;这在离线场景和自动化产线中带来不便。为了应对这一挑战&#xff0c;虹科推出了创新的汽车总线离线模拟解决方案&#xff0c;基于PCAN-Router系列网关&#xff0c;通过内部可编程固件&#xff0…

轻松Python批量将图片合并为PDF并按数字顺序排序(成功)

在处理数字化文档或报告时,我们经常需要将扫描的图片或图表批量合并为单一的PDF文件。Python提供了一种简便的方法来自动化这个过程,并且可以确保图片按照数字顺序(如1, 2, 10而不是1, 10, 2)正确排序。本文将介绍如何使用Python和Pillow库来实现这一功能。 安装Pillow库 …

数据结构:图文详解 搜索二叉树(搜索二叉树的概念与性质,查找,插入,删除)

目录 搜索二叉树的相关概念和性质 搜索二叉树的查找 搜索二叉树的插入 搜索二叉树的删除 1.删除节点只有右子树&#xff0c;左子树为空 2.删除节点只有左子树&#xff0c;右子树为空 3.删除节点左右子树都不为空 搜索二叉树的完整代码实现 搜索二叉树的相关概念和性质 …

一、冯诺依曼计算机

图灵与冯诺依曼两位计算机发展重要人物。冯诺依曼简介&#xff1a;被誉为现代计算机之父。 世界上第一台通用计算机Eniac&#xff0c;就有冯诺依曼的参与。他提出的思想&#xff0c;将数据和程序分离开了&#xff0c;程序是程序&#xff0c;数据是数据&#xff0c;数据可以由程…

大数据时代效率革新:数字化管理助力企业迈向全新高度-亿发

在大数据时代的浪潮中&#xff0c;数字化管理成为企业不可或缺的发展趋势。以信息技术为支撑&#xff0c;数字化管理为企业带来了前所未有的机遇和挑战。让我们一起探讨&#xff0c;在这个数字时代&#xff0c;数字化管理如何引领企业走向更加高效、智能的未来。 1. 数据驱动决…

更新!3D开发工具HOOPS发布2024版本:增强Navisworks、Revit等新版本支持,性能进一步提高!

3D工程软件开发工具包的领先提供商Tech Soft 3D今天宣布推出HOOPS Exchange 2024&#xff08;支持30多种文件格式的领先CAD数据转换SDK&#xff09;和HOOPS Publish 2024&#xff0c;用于发布交互式3D PDF、3D HTML和3D CAD数据的领先工具包。 HOOPS Exchange现在支持Naviswor…

轻松开始在eBay上销售:如何创建eBay卖家账号

eBay作为全球最大的在线拍卖和购物平台之一&#xff0c;为卖家提供了极大的商机。如果您想在eBay上开始销售并赢得更多客户&#xff0c;本文将为您提供创建卖家账号的详细步骤指南&#xff0c;帮助您开启成功的电商之旅。 一、访问eBay官方网站 首先&#xff0c;打开您的浏览…

2024美赛F题思路/代码

美赛直播b站&#xff0c;提前关注&#xff1a;川川菜鸟 美赛辅导预定&#xff1a;美赛服务 去年美赛A题&#xff1a;2023美赛A题 题目 待定 问题一 思路 待定 模型 待定 程序 待定 问题二 待定 思路 待定 模型 待定 程序 待定

微信公众号在线客服源码系统,开发组合PHP+MySQL 带完整的安装代码包以及搭建教程

移动互联网的快速发展&#xff0c;微信公众号成为了企业与用户之间的重要沟通桥梁。为了满足企业对微信公众号在线客服的需求&#xff0c;小编给大家分享一款基于PHP和MySQL的微信公众号在线客服源码系统。这套系统能够帮助企业快速搭建自己的微信公众号在线客服平台&#xff0…

FPGA高端项目:Xilinx Artix7系列FPGA 多路视频缩放拼接 工程解决方案 提供4套工程源码+技术支持

目录 1、前言版本更新说明给读者的一封信FPGA就业高端项目培训计划免责声明 2、相关方案推荐我这里已有的FPGA图像缩放方案我已有的FPGA视频拼接叠加融合方案本方案的Xilinx Kintex7系列FPGA上的ov5640版本本方案的Xilinx Kintex7系列FPGA上的HDMI版本 3、设计思路框架设计框图…

【Midjourney】新手指南:参数设置

1.--aspect 或 --ar 用于设置图片长宽比&#xff0c;例如 --ar 16:9就是设置图片宽为16&#xff0c;高为9 2.--chaos 用于设置躁点&#xff0c;噪点值越高随机性越大&#xff0c;取值为0到100&#xff0c;例如 --chaos 50 3.--turbo 覆盖seetings的设置并启用极速模式生成…

实际项目中的SpringAOP实现日志打印

目录 一、AOP实现日志 1.1 需求分析&#xff1a; 1.2 定义切面类和切点&#xff1a; 扩展&#xff1a;finally中的代码块一定会执行吗&#xff1f; 扩展 总结 1.3 定义环绕通知 1.4 handleBefore 的具体实现 1.4.1 获取url 1.4.2 获取接口描述信息 1.4.3 后续获取 1.5…

全球网络加速的5种方法,云桥通力推SDWAN企业组网

全球网络加速旨在通过采用多种技术和服务&#xff0c;提高全球范围内的网络连接速度和性能。在全球化发展的趋势下&#xff0c;跨国企业、云服务提供商和全球用户之间的网络通信变得日益关键。其目标是克服跨国网络连接中的延迟、带宽限制和数据包丢失等问题&#xff0c;以提供…

向量数据库Milvas

Milvus是在2019年创建的&#xff0c;其唯一目标是存储、索引和管理由深度神经网络和其他机器学习&#xff08;ML&#xff09;模型生成的大规模嵌入向量。 Milvus的概述 – Milvus向量库中文文档 (milvus-io.com) Milvus 2.0 概述 - 《Milvus 帮助手册-教程 - V2 版本》 - 极客…

【C++】 C++入门—内联函数

C入门 1 内联函数1.1 定义1.2 查看方式1.3 注意 Thanks♪(&#xff65;ω&#xff65;)&#xff89;谢谢阅读下一篇文章见&#xff01;&#xff01;&#xff01; 1 内联函数 1.1 定义 程序在执行一个函数前需要做准备工作&#xff1a;要将实参、局部变量、返回地址以及若干寄存…