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

Pinia + 组合式写法 + 选项式写法

选项式:

1.定义Store

import { defineStore } from 'pinia'// option api  选项式
export const useAlterStore = defineStore('alter', {state: () => {return {num: 1}},getters: { // 可以看做是计算属性doubleCount: (state) => state.num * 2},actions: {// 同步方法add() {this.num++},// 异步方法async asyncAdd() {await new Promise((resolve) => {setTimeout(resolve, 1000)})this.add()}}
})
  1. 使用Store
    //引入storeimport { useAlterStore } from '../store/useAlterStore.js';   import { storeToRefs } from 'pinia'const store = useAlterStore(); // 拿到仓库const { num, doubleCount } = storeToRefs(store); // 把仓库中的数据变成响应式const { add, asyncAdd } = store // 拿到仓库方法

组合式:

1.定义Store

import { defineStore } from 'pinia'
import { reactive, computed } from 'vue'export const useListStore = defineStore('list', () => {const list = reactive({inputValue: '1',conter: 100,items: [{txt: '学习pinia',isCompleted: true}]})const doubleCounter = computed(() => list.conter * 2)const deleteItem = (index) => {list.items.splice(index, 1)}return {list,doubleCounter,deleteItem}})
  1. 使用Store
    //引入storeimport { useAlterStore } from '../store/useAlterStore.js';   import { storeToRefs } from 'pinia'// 获取仓库const store = useListStore()const { list, doubleCounter } = storeToRefs(store) // 把仓库中的数据变成响应式const { deleteItem } = store // 拿到仓库方法

重置state

const store = useStore()
store.$reset()

变更state

 store.$patch({num: inputVal.value})
http://www.lryc.cn/news/385436.html

相关文章:

  • vCenter-vAPI-Endpoint service health shows as Yellow
  • 2018年全国大学生数学建模竞赛A题高温服装设计(含word论文和源代码资源)
  • UEFA EURO 2024 GERMANY
  • Ueditor中集成135编辑器
  • C++ type list 模板
  • vscode刷LeetCode算法题环境配置
  • OpenCV报错已解决:Vector析构异常OpencvAssert CrtlsValidHeapPointer
  • AudioLM音频生成模型
  • Shardingsphere-Proxy 5.5.0数据迁移
  • c语言中的for循环
  • 大模型微调(finetune)方法
  • Bootstrap 5 卡片
  • 【ONLYOFFICE 8.1】的安装与使用——功能全面的 PDF 编辑器、幻灯片版式、优化电子表格的协作
  • 「51媒体」浙江地区媒体邀约
  • 2-18 基于matlab的关于联合对角化盲源分离算法的二阶盲识别(SOBI)算法
  • C++中常用的标志库
  • 近期计算机领域的热点技术
  • HarmonyOS Next 系列之可移动悬浮按钮实现(六)
  • 如何获得更高质量的回答-chatgpt
  • ASP.NET Core 6.0 使用 Log4Net 和 Nlog日志中间件
  • 使用Spring Boot实现与ActiveMQ的消息队列集成
  • 深度学习 - Transformer 组成详解
  • ONLYOFFICE 8.1编辑器桌面应用程序来袭——在线全面测评
  • 《Windows API每日一练》6.4 程序测试
  • [C#]基于opencvsharp实现15关键点人体姿态估计
  • lambda-map.merge
  • pppd 返回错误码 含义
  • XML 技术
  • 基于RabbitMQ的异步消息传递:发送与消费
  • Golang | Leetcode Golang题解之第201题数字范围按位与