下载

# npm

npm install pinia@next

# yarn

yarn add pinia@next

引入

   在main.ts / js里引用 pinia的createPinia  然后用让app.use()加载一下这个函数

import { createApp } from 'vue'
import { createPinia } from "pinia"
import App from './App.vue'import router from "./router/router"
const app = createApp(App)
app.use(router)
app.use(createPinia())app.mount('#app')

创建Store 

import { defineStore } from "pinia"export default defineStore({id: "#mian",state: () => ({name: "piniaName"}),getters: {gettersName: (state) => state.name.length},actions: {insertPost(data: string) {this.name = data}},
})

 使用及改变state里定义的变量 

<template><div>{{ piniaStore.name }}</div><div>长度:{{ piniaStore.gettersName}}</div><button @click="setPiniaState">修改</button><button @click="callAction">调用Action</button>
</template><script setup lang="ts">
import useMainStore from "@/piniaStore";
const piniaStore = useMainStore();
const setPiniaState = () => {piniaStore.$patch({name: "123456",  //使用$patch修改});
};
const callAction = () => {piniaStore.insertPost("123"); //这里直接同步调用action 也可以异步使用
};
</script>

   异步使用action

import { defineStore } from "pinia"export default defineStore({id: "#mian",state: () => ({name: "piniaName"}),getters: {gettersName: (state) => state.name.length},actions: {async insertPost(data: string) {await // 内容}},
})

   

<template><div>{{ piniaStore.name }}</div><div>长度:{{ piniaStore.gettersName}}</div><button @click="setPiniaState">修改</button><button @click="callAction">调用Action</button>
</template><script setup lang="ts">
import useMainStore from "@/piniaStore";
const piniaStore = useMainStore();
const setPiniaState = () => {piniaStore.$patch({name: "123456",  //使用$patch修改});
};
const callAction = () => {piniaStore.insertPost("123").then(()=>{});
};
</script>

vue3 Pinia 基本使用相关推荐

  1. 教你使用 koa2 + vite + ts + vue3 + pinia 构建前端 SSR 企业级项目

    大厂技术  高级前端  Node进阶 点击上方 程序员成长指北,关注公众号 回复1,加入高级Node交流群 前言 大家好,我是 易[1],在上一篇文章中,我们有讲到<如何使用 vite+vue3 ...

  2. vue3 pinia 状态管理(清晰明了)

    前言 最近学习cloud项目,前端使用到 vue3 + ts 等技术,其中包括 pinia ,从一脸懵到渐渐清晰过程,在此记录一下,若有不足,希望大佬可以指出. 中文官方文档:https://pini ...

  3. vue3 + pinia 使用

    pinia 文档 pinia 下载 yarn add pinia main.ts import { createApp } from 'vue'; import App from './App.vue ...

  4. Vue3 - Pinia 状态管理,解构 store(Pinia storeToRefs API 详细使用教程)

    目录 前言 ES 解构方式(错误的) storeToRefs(正确的) 总结 SEO 前言 解构啥意思呢?大家应该对 ES 传统方式解构非常了解,相同的,解构 store 也是如此. 假设你在状态管理 ...

  5. Vue3 的状态管理库(Pinia)

    目录 前言: 一.什么是 Pinai 二.安装与使用pinia 三.什么是 store 四.state 1. 定义 state 2. 组件中访问 state 五.Getters 1. 定义 Gette ...

  6. 基于Vite4.x+Vue3+VEPlus+Pinia搭建轻量级管理后台模板ViteAdmin

    整合vite4.js+vue3+pinia开发轻量级后台管理系统Vite-Admin 使用最新前端技术栈 vue3+vite4+vue-router+pinia2+vue-i18n+ve-plus 等 ...

  7. 极简但是很全的vue3+vite+pinia项目模板,开箱即用

    主要功能: 1.layout布局 2.router,pinia,axio, 3.element-ui plus 部分组件二次封装 4.多语言 / icon图标组件封装 / 多环境 / eslint 其 ...

  8. Vue3+Vite3 SSR基本搭建

    Vue3+Vite3 SSR基本搭建 首先说明如果是生产使用强烈推荐Nuxt,但是如果想深入服务端渲染的运行原理,可以看本篇,会根据渲染流程搭建一个demo版ssr,源码在最后会贴上 主要技术栈:Vi ...

  9. Vue3后台管理系统模板推荐

    文章目录 @[TOC](文章目录) 1.Vue-Vben-Admin 2.vue-manage-system 1.Vue-Vben-Admin Vue-Vben-Admin(github上的标星数为1 ...

最新文章

  1. 【Linux 内核】CFS 调度器 ① ( CFS 完全公平调度器概念 | CFS 调度器虚拟时钟 Virtual Runtime 概念 | 四种进程优先级 | 五种调度类 )
  2. 聊聊大厂面试官必问的 MySQL 锁机制
  3. IPC进程间通信 D-Bus(Desktop Bus)快速入门(以libdbus-glib库为例)
  4. 操作系统设计与实现第3版笔记与minix3心得(3)-操作系统发展历史(1)
  5. 【面试题】struts2的工作流程
  6. ios企业应用发布流程
  7. 计算机网络(十三)-数据链路层-动态分配信道
  8. MySQL MGR集群搭建
  9. 一对一家教如何辅导_小学六年级数学一对一家教怎么教/小学六年级数学怎样辅导...
  10. VirtualBox虚拟机如何扩容
  11. 对于如何打造一个成功的项目
  12. 超效率dea matlab,MATLAB在超效率DEA模型中的应用研究
  13. 单片机C语言程序设计实训100例:基于AVR+proteus仿真pdf
  14. 农业纺织品市场现状研究分析与发展前景预测报告
  15. iOS-键盘弹出的类型
  16. 给女朋友明天一条贴心消息【公众号推送】
  17. 天天预约|新功能工具「美团优惠券」上线啦!
  18. docker quick start
  19. 计算机序号函数,用api函数读取硬盘的序列号
  20. 【NIO与Netty】Netty 入门

热门文章

  1. linux下安装软件出错的解决方法
  2. 华为Mate 10系列升级EMUI 9.0智慧系统,带来四重安全保障
  3. 在H5页面中禁止微信分享转发按钮-mugeda
  4. 分布式事务解决方案Seata——AT模式详解
  5. 地理信息系统上的创新,看全空间信息系统引领下一代GIS。
  6. Python+Steamlit 快速开发可视化机器学习平台
  7. 射箭走进陆家嘴,学校、社区、商圈全覆盖!
  8. 那一刻你在哪里,十年后你想对汶川说什么?
  9. java--守护线程
  10. 模仿360安全卫士项目笔记5