龙泉驿网站建设北京网站建设公司 蓝纤科技
news/
2025/9/22 23:45:57/
文章来源:
龙泉驿网站建设,北京网站建设公司 蓝纤科技,win10怎么删除2345网址导航,网页设计导航栏素材文章目录 文章目录 pinia组成部分 pinia使用流程 注意Store获取到后不能解构#xff0c;否则失去响应式 一、pinia原理#xff1f;
功能#xff1a;管理全局共享数据#xff0c;pinia与vuex功能一样优势#xff1a;pinia相对于vuex增加了对ts的支持#xff0c;对响应式的…文章目录 文章目录 pinia组成部分 pinia使用流程 注意Store获取到后不能解构否则失去响应式 一、pinia原理
功能管理全局共享数据pinia与vuex功能一样优势pinia相对于vuex增加了对ts的支持对响应式的支持
二、组成部分
State存储共享的数据Actions可以包含任意异步操作如axios提交(dispatch)action自动commit给mutation保证所有数据同步更新其他方法会使部分数据失真Mutationspinia已取消vuex中会有
1. pinia使用流程:
安装依赖下载包 npm install pinia 在main.js中引入pinia并创建容器挂载到根实例上
//引入stores暴露出的pinia的实例
import pinia from ./storescreateApp(App).use(pinia).mount(#app)
创建stores文件夹和index.js文件这个文件以后基本不用管了
import { createPinia } from pinia;const pinia createPinia()export default pinia
在stores文件夹下创建counter.js文件。这个文件就是存有关counter相关的数据。类似vuex的模块化defineStore 是需要传参数的
第一个参数是id就是一个唯一的值简单点说就可以理解成是一个命名空间.第二个参数就是一个对象里面有三个模块需要处理第一个是 state第二个是 getters第三个是 actions。 //定义关于counter的store
import {defineStore} from pinia/*defineStore 是需要传参数的其中第一个参数是id就是一个唯一的值
简单点说就可以理解成是一个命名空间.
第二个参数就是一个对象里面有三个模块需要处理第一个是 state
第二个是 getters第三个是 actions。
*/
const useCounter defineStore(counter,{state:() ({count:66,}),getters: {},actions: {}
})//暴露这个useCounter模块
export default useCounter注意返回的函数统一使用useXXX作为命名方案这是约定的规定。
然后再组件中使用 template !-- 在页面中直接使用就可以了 不用 .state-- div展示pinia的counter的count值{{counterStore.count}}/div /template script setup // 首先需要引入一下我们刚刚创建的store import useCounter from ../stores/counter // 因为是个方法所以我们得调用一下 const counterStore useCounter() /script 1.2.注意Store获取到后不能解构否则失去响应式 template div展示pinia的counter的count值{{counterStore.count}}/div div展示解构出来的pinia的counter的count值{{count}}/div button clickaddCountcount1/button /template script setup import useCounter from ../stores/counter const counterStore useCounter() const {count} counterStore function addCount(){ //这里可以直接操作count这就是pinia好处在vuex还要commit在mutaitions修改数据 counterStore.count } script/
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/910779.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!