Pinia从安装到使用

news2024/12/26 9:29:44

什么是Pinia

添加Pinia到vue项目

使用Pinia实现计数器案例

counter.js

import {defineStore} from "pinia";
import {ref} from "vue";

export const useCounterStore = defineStore('coutner',()=>{
    //定义数据(state)
    const count = ref(0)

    //定义修改数据的方法(action同步+异步)
    const add = ()=>{
        count.value++
    }

    //以对象的形式return供组件使用
    return {count,add}
})

App.vue

<script setup>
import {computed, provide, ref, watch} from "vue";
import Son from './components/Son.vue';
import {useCounterStore} from "./stores/counter";
//导入

//执行方法得到useCounterStore的实例对象,实例化
const counterStore = useCounterStore()

</script>

<template>
  <div>
    <button @click="counterStore.add">{{counterStore.count}}</button>
  </div>
</template>

getter和异步action

storeToRefs

storeToRefs 是 Pinia 提供的一个实用函数,用于将 store 中的状态转换为响应式引用(reactive refs)。这使得在 Vue 组件中使用 Pinia 的状态更加方便,尤其是在组合式 API 中。

为什么使用 storeToRefs?

在组合式 API 中,直接从 store 中解构状态可能会导致失去响应性。使用 storeToRefs 可以确保我们解构出来的每个状态仍然是响应式的。

需要注意的是,要区分一下,解构数据和解构方法是不一样的

解构数据需要加上storeToRefs(否则会失去响应性),解构方法则不需要担心。

<script setup>
import {computed, provide, ref, watch} from "vue";
import Son from './components/Son.vue';
import {useCounterStore} from "./stores/counter";
import {storeToRefs} from "pinia";
//导入

//执行方法得到useCounterStore的实例对象,实例化
const counterStore = useCounterStore()
const {add} = counterStore
const {count} = storeToRefs(counterStore)
</script>

<template>
  <div>
    <button @click="add">{{count}}</button>
  </div>
</template>

总结

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2160531.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

低光照图像增强算法-图像增强(代码+教程)

这是一个使用深度学习技术进行低光照图像增强的项目。是一种旨在提高低光照条件下拍摄的图片质量的方法。该方法利用了注意力机制来指导增强过程&#xff0c;从而改善图像的整体视觉效果。 项目概述 输入: AGLLNet 接受单个RGB彩色图像作为输入&#xff0c;其尺寸为768x1152…

Miniconda 安装教程

1. Miniconda 简介 Miniconda是一个小巧而强大的Python环境管理工具,由Continuum Analytics(现已被Anaconda公司收购)创建。它为用户提供了快速、简便的Python环境创建、隔离、切换和包管理功能。核心组件有Conda包管理器和Python环境,具有轻量级、灵活性、跨平台等特点,…

【命令操作】Windonws端口被占用,查找占用端口的进程id,以及使用id杀死进程

Windonws端口被占用&#xff0c;查找占用端口的进程id,以及使用id杀死进程 Windonws端口被占用 查询端口 netstat -ano查询指定端口-获得占用端口的进程ID netstat -ano | findstr "端囗号"如查询8888端口 netstat -ano | findstr "8888"命令截图 命令…

DeiT(ICML2021):Data-efficient image Transformer,基于新型蒸馏且数据高效的ViT!

Training data-efficient image transformers & distillation through attention&#xff1a;通过注意力训练数据高效的图像转换器和蒸馏 论文地址&#xff1a; https://arxiv.org/abs/2012.12877 代码地址&#xff1a; https://github.com/facebookresearch/deit 这篇论文…

MongoDB的备份和恢复命令

一、下载 MongoDB Database Tools 官方网址&#xff1a;Download MongoDB Command Line Database Tools | MongoDB 将解压后的文件夹移动到MongoDB的bin目录下&#xff0c;同时配置mongodb-database-tools的bin目录进入环境变量。 以上有问题请参考文章&#xff1a;使用cmd命…

GIS留学院校介绍-英国篇

看前须知 关于语言成绩要求&#xff1a; 通常英国院校的雅思成绩要求分为5个等级&#xff0c;标准分别如下&#xff1a; 1级&#xff1a;总分6.5分&#xff0c;每个部分最低6.0分 2级&#xff1a;总分7.0&#xff0c;每个部分至少6.5分 3级&#xff1a;总分7.0分&#xff…

【C++入门必备】C++介绍,命名空间,输入和输出

目录 一&#xff1a;C前言介绍 1.1&#xff1a;什么是C 1.2&#xff1a;C发展史 1.3&#xff1a;如何学好C 二&#xff1a;命名空间 2.1&#xff1a;为什么会有命名空间 2.2&#xff1a;定义命名空间 2.3&#xff1a;使用命名空间 三&#xff1a;C的输入与输出 3.1&a…

go-admin-ui的菜单分割线设计思路和代码实现

在菜单管理添加分割线&#xff0c;类似这种&#xff1a; 思路&#xff1a;利用空间结构和数据特点来唯一区分出分割线&#xff0c;来划分业务区域 <template><div><h1>Split Line Controller</h1><ul><li v-for"route in displayedRout…

基于python+django+vue的旅游景点数据分析系统

作者&#xff1a;计算机学姐 开发技术&#xff1a;SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等&#xff0c;“文末源码”。 专栏推荐&#xff1a;前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码 精品专栏&#xff1a;Java精选实战项目…

Python+appium自动化+夜神模拟器inspector部署验证

1、自动化测试环境部署_总览图检查表流程图 Python需要安装Appium-Python-Clicent去定位元素&#xff1b;Appium是一个中间的服务器&#xff0c;它需要依赖node.js&#xff0c;python的脚本通过appium和手机进行交互&#xff1b;手机app的环境都是java环境&#xff0c;先安装j…

nc检查网络连通性测试和端口扫描

nc可以作为server端启动一个tcp的监听&#xff08;注意&#xff0c;此处重点是起tcp&#xff0c;下面还会讲udp&#xff09; 先关闭A的防火墙&#xff0c;或者放行下面端口&#xff0c;然后测试B机器是否可以访问A机器启动的端口 在A机器上启动一个端口监听&#xff0c;比如 …

链接器查找其他动态库的过程

export LD_DEBUGall 2./your_program 这将输出所有的调试信息&#xff0c;包括搜索路径、库的加载、符号解析等详细信息。 关闭用unset LD_DEBUG 常用的 LD_DEBUG 选项包括&#xff1a; all: 输出所有调试信息。paths: 显示搜索路径信息。files: 显示文件打开和关闭的信息。…

气膜建筑的维护与维修:延长使用寿命的关键—轻空间

气膜建筑以其快速搭建、低成本和灵活的空间设计&#xff0c;被广泛应用于体育馆、仓储设施等多个领域。然而&#xff0c;随着时间的推移&#xff0c;气膜建筑的结构和材料在使用过程中不可避免地受到环境和使用条件的影响&#xff0c;因此定期维护和必要的维修显得尤为重要。了…

杰理ac695x配置小度id

#define DMA_PRODUCT_INFO_TEST 1 仅限于调试阶段&#xff0c;批量烧录阶段需要关闭

C++11语法(基础)【一】

目录 1. C11简介 2. 统一的列表初始化 2.1 &#xff5b;&#xff5d;初始化 2.2 std::initializer_list 3. 声明 3.1 auto 3.2 decltype 3.3 nullptr 声明&#xff1a;C11我会分几篇来讲&#xff0c;每一篇我都会讲几种特性。 1. C11简介 在2003年C标准委员会曾经提交了一份技术…

SOMEIP_ETS_128: SD_Multicast_FindService_Major_Minor_Version_set_to_all

测试目的&#xff1a; 验证DUT能够对设置了主版本号和次版本号为0xFF的多播FindService请求做出响应&#xff0c;并为每个请求至少回复一个单播OfferService消息。 描述 本测试用例旨在确保DUT能够正确处理多播FindService请求&#xff0c;特别是当请求中的主版本号和次版本…

【AIGC】ChatGPT提示词助力广告文案、PPT制作与书籍推荐的高效新模式

博客主页&#xff1a; [小ᶻZ࿆] 本文专栏: AIGC | ChatGPT 文章目录 &#x1f4af;前言&#x1f4af;高效广告推销文案提示词使用方法 &#x1f4af;AI自动生成PPT全流程提示词使用方法 &#x1f4af;精选书籍推荐爆款文案提示词使用方法 &#x1f4af;小结 &#x1f4af;…

vulnhub(13):Digitalworld.local JOY(ftp 的未授权文件读写漏洞、文件覆盖提权)

端口 nmap主机发现 nmap -sn 192.168.72.0/24 ​ Nmap scan report for 192.168.72.171 Host is up (0.00020s latency). ​ 171是新出现的机器&#xff0c;他就是靶机 nmap端口扫描 nmap -Pn 192.168.72.171 -p- --min-rate 10000 -oA nmap/scan 扫描开放端口保存到 nmap/sca…

【Android】 IconFont的使用

SVG 的特点&#xff1a; 矢量图形&#xff1a;SVG 使用基于路径的矢量图形&#xff0c;这意味着图形可以无限放大而不失真&#xff0c;非常适合需要多种分辨率的应用。 可伸缩性&#xff1a;SVG 文件的大小通常比位图小&#xff0c;这使得它们在网页上加载更快。 编辑和创作&…

【STM32 ST-LINK Utility】工具使用和如何编译HEX和BIN文件

【STM32 ST-LINK Utility】工具使用和如何编译HEX和BIN文件 一、STM32 ST-LINK UtilitySTM32 ST-LINK Utility简介功能概述&#xff1a; STM32 ST-LINK Utility作用使用场景&#xff1a; 二、KEIL生成HEX和BIN文件1. 生成HEX文件2. 生成BIN文件 三、STM32 ST-LINK Utility烧录1…