pinia仓库的了解和使用

再使用之前,我们先对pinia做一个基本了解:Pinia 是一个专门为 Vue.js 应用程序设计的状态管理库。它的目标是提供简单、轻量级且易于使用的状态管理解决方案,使开发者能够更轻松地管理 Vue.js 应用程序中的状态。

简单来说pinia就是在vue3中作为中转站来保存项目中使用到的属性和方法,可以让所有vue组件都能够访问到pinia中的属性和方法。可以用来保存httpAPI或者多个组件共同使用的属性。

接下来就是重点——pinia的使用:

        首先在项目的main.ts中引入pinia:

        //引入pinia

        import pinia from './store'

        //使用pinia

        app.use(pinia)

        如图:

然后就是在项目的store文件夹中创建自己的pinia库,使用项目模板的话会直接找到,自己写的话可以自己创建。

先引入pinia,然后创建一个变量调用defineStore方法,按照如下图所示的写法,将属性、数组、对象等放到return中,例如a:1;方法要写在actions中,如图12行的actions。最后记得暴露出来如第43行。

最后就是在需要的组件中引用:

//首先是引用pinia库

import pinia仓库内定义的名称 from "pinia库的路径"

let 自己起的变量名=pinia仓库内定义的名称()

其中pinia仓库内定义的名称就是上图中第6行的warehoseOne,pinia的路径根据自己的情况来定,自己起的变量名我习惯用useStore。

//然后是使用其中的变量

以我的为例,想要得到pinia中a的值,那么直接打印useStore.a即可。如图所示:

pinia还可以解决因为异步问题导致的返回的数据不可以在script中不可以直接使用的问题,详情见由于异步原因导致在主线中不能直接使用接口返回的数据的解决方式。(vue+TS+Axios)-CSDN博客

  • 7
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue 3 的状态管理库 Pinia 是一个基于 Vue 3 Composition API 的轻量级、强大且易于使用的状态管理解决方案。它提供了类似于 Vuex 的功能,但是与 Vuex 不同,Pinia 不依赖于 Vue 2 的选项 API,而是完全基于 Composition API 构建。 Pinia 的使用和理解包括以下几个方面: 1. 安装和创建 Pinia 实例:首先,你需要通过 npm 或 yarn 安装 Pinia 包。然后,在你的应用程序的入口文件中,通过 `createPinia` 函数来创建 Pinia 实例。 2. 创建并使用 Store:在 Pinia 中,你可以通过 `defineStore` 函数来定义一个 Store。定义 Store 时,你需要提供一个唯一的标识符,并定义该 Store 的状态、操作和 getters。然后,你可以在组件中使用 `useStore` 函数来访问 Store 实例,并通过这个实例来获取/修改状态、调用操作等。 3. 组件中使用 Store:在组件中使用 Store 需要引入 `useStore` 函数,并传入你定义的 Store 标识符。然后,你可以像使用普通对象一样访问 Store 的状态、操作和 getters。 4. 在组件中监听状态变化:你可以使用 `watch` 函数或 `computed` 属性来监听 Store 中的状态变化,并在变化时执行相应的逻辑。 5. 动态注册 Store:Pinia 支持动态注册 Store。你可以使用 `registerStore` 函数来动态注册一个 Store,然后在需要的地方使用。 6. 在异步操作中使用 Store:Pinia 提供了 `actions` 函数来处理异步操作。你可以在 `actions` 函数中访问 Store 的状态和操作,并返回一个 Promise 对象。 7. 插件和插件的使用:Pinia 还支持插件系统,你可以通过插件来扩展 Pinia 的功能。你可以通过 `use` 函数来使用插件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值