当前位置: 首页 > news >正文

Vue:状态管理pinia

安装

npm install pinia

在 main.js 中注册

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

创建 store

// stores/counter.jsimport { defineStore } from "pinia";export const useCounterStore = defineStore("counter", {state: () => ({count: 0,}),getters: {	// 类似计算属性,基于store中的状态进行动态计算。当它们所依赖的state发生变化时,getters会自动更新其返回值。double: (state) => {	return state.count * 2;},},actions: {increase() {this.count++;},},
});

使用 store

<!-- Counter.vue --><script setup>
import { useCounterStore } from '@/stores/counter'
import { storeToRefs } from 'pinia'const counter = useCounterStore();
const { count, double } = storeToRefs(counter);		// 将store中的结构数据转为响应式的ref对象
</script><template><button @click="counter.increase">{{ count }} - {{ double }}</button>
<template>
http://www.lryc.cn/news/362856.html

相关文章:

  • 【Android Studio】导入import android.support.v7.app.AppcompatActivity;时报错
  • 汽车区域控制器技术分析
  • myEclipse新手使用教程
  • 【WPF编程宝典】第6讲:资源
  • 容器化部署Pig微服务快速开发框架
  • Windows编程:图标资源、光标资源、字符串资源、加速键资源、WM_PAINT消息、绘图
  • 【2024 短剧0元轻资产创业风口】做自己的老板,做新媒体的领路人
  • Docker安装Bitbucket
  • FlyMcu串口下载STLINK Utility
  • CSS(盒子模型,定位,浮动,扩展)
  • AIGC如何改变人类生活20240529
  • 【python】成功解决“TypeError: ‘method’ object is not subscriptable”错误的全面指南
  • 若依 Spring Security 短信,扫码登录
  • Web 网页性能优化
  • JDBC-MySQL
  • MySQL经典练习50题(上)(解析版)
  • 每日一题33:数据统计之广告效果
  • 52、有边数限制的最短路
  • Spring boot实现基于注解的aop面向切面编程
  • MySQL之查询性能优化(四)
  • 定时任务详解
  • OnlyOffice DocumentServer 8.0.1编译破解版本(¥100)
  • Android 应用权限
  • MATLAB 匿名函数
  • Java 新手入门:基础知识点一览
  • 三维模型轻量化工具:手工模型、BIM、倾斜摄影等皆可用!
  • 小程序CI/CD之自动化打包预览并钉钉通知发布进程
  • C++使用QtHttpServer开发服务端Server的Http POST接口和客户端Client示例
  • 计算机基础(8)——音频数字化(模电与数电)
  • 手搓单链表(无哨兵位)(C语言)