Pinia是vue的专属状态库,允许开发者跨组件或页面共享状态,他是一个拥有组合式API的Vue状态管理库,支持vue2和vue3,有三个概念,state、getter 和 action,我们可以假设这些概念相当于组件中的 data、 computed 和 methods。。
与 Vue 的选项式 API 类似,我们也可以传入一个带有 state
、actions
与 getters
属性的 Option 对象
也存在另一种定义 store 的可用语法。与 Vue 组合式 API 的 Setup 函数相似,我们可以传入一个函数,该函数定义了一些响应式属性和方法,并且返回一个带有我们想暴露出去的属性和方法的对象。
上面代码我们访问shore中的函数或者数据都要使用 store. 会麻烦,我们可以使用解构的形式将我们需要的数据提取出来:
注意:本文是接收在vue3<script setup>使用pinia
由于有了底层 API 的支持,Pinia store 现在完全支持扩展。以下是你可以扩展的内容:
为 store 添加新的属性
定义 store 时增加新的选项
为 store 增加新的方法
包装现有的方法
改变甚至取消 action
实现副作用,如本地存储
仅应用插件于特定 store
插件是通过 pinia.use() 添加到 pinia 实例的。最简单的例子是通过返回一个对象将一个静态属性添加到所有 store。
关于插件的更多用法可以查看官网:Pinia插件
希望本片文章能够帮助大家快速入门pinia,感谢大家的观看!
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。