首页 > 其他分享 >Vue项目安装Pinia

Vue项目安装Pinia

时间:2024-07-10 14:58:02浏览次数:8  
标签:Vue const Pinia app pinia import 安装 store orderInfo

        在Vue.js 项目中,状态管理是非常重要的一环,它能够帮助我们更好地管理应用程序的状态和数据流。而 Pinia 是一个专为 Vue 3 设计的状态管理库,提供了简洁的 API 和强大的功能,帮助我们更轻松地管理状态。

        在本文中,博主将详细介绍如何在 Vue 3 的项目中安装 Pinia 

1.定位到项目根路径下 (src目录同级)

        在你的 Vue 项目中打开终端,通过 npm 或者 yarn 包管理器安装 Pinia:

# npm 包管理器
npm install pinia

# yarn 包管理器
yarn add pinia

2.创建一个 pinia 实例 (根 store) 并将其传递给应用:

// main.js 文件中  # 或者 main.ts 文件中

import { createApp } from 'vue'
import { createPinia } from 'pinia'
import App from './App.vue'

const pinia = createPinia()
const app = createApp(App)

app.use(pinia)
app.mount('#app')

        这里也可以将 pinia 挂载到项目的 store 目录下,最后在 main.js main.ts 中注册即可 

// @/store/index.ts 文件中

import { createPinia } from 'pinia';

// 创建
const pinia = createPinia();

// 导出
export default pinia;
// main.ts 文件中

import { createApp } from 'vue';
import App from '/@/App.vue';
// 引入 pinia
import pinia from '/@/stores/index';

const app = createApp(App);

app.use(pinia).mount('#app');

3.创建新的 store 开始使用

/* 
 * orderStore.js
 * 首先,我们定义一个store。  ==> 这里博主采用组合式API写法
 */
import { defineStore } from 'pinia'
import { ref } from 'vue'

// 这里,第一个参数是你的应用中 Store 的唯一 ID。==> 我的是 orderInfo
export const useOrderStore = defineStore('orderInfo', () => {
    
    // 可以在任意组件中访问 orderInfo 变量
    const orderInfo = ref()

    const setOrderInfo = (data) => {
        orderInfo.value = data
    }
    
    const getOrderInfo = () => {
        return orderInfo.value
    }

    return { orderInfo, setOrderInfo, getOrderInfo }
})

最后,在 Vue组件中引入这个 store,并通过函数式调用 store 即可进行状态(数据)共享了

标签:Vue,const,Pinia,app,pinia,import,安装,store,orderInfo
From: https://blog.csdn.net/qq_56046190/article/details/140323565

相关文章

  • vue3中关于指定props的复杂ts类型
    如果要对props的数据进行指定类型,基本类型可以直接使用类型约束,复杂类型可以使用PropType进行约束interfaceItemInterface{title:stringcode:stringstatus:numbericon:string}constprops=defineProps({type:String,userId:String,currentItem......
  • yarn的安装与配置(秒懂yarn用法)
    Yarn是一个快速、可靠且安全的包管理器,旨在替代npm以提高包的安装速度和一致性。以下是Yarn的安装与配置步骤:安装Yarn在不同操作系统上的安装方法:Ubuntu/Debian:sudoaptupdatesudoaptinstallyarnCentOS/RHEL:sudoyuminstallyarnmacOS(通过Homebre......
  • 275:vue+openlayers 点图标的大小随着分辨率而变化
    作者:还是大剑师兰特,曾为美国某知名大学计算机专业研究生,现为国内GIS领域高级前端工程师,CSDN知名博主,深耕openlayers、leaflet、mapbox、cesium,canvas,echarts等技术开发,欢迎加微信(gis-dajianshi),一起交流。查看本专栏目录-本文是第275个示例文章目录一......
  • uniapp+vue3封装下拉框(支持单选、多选)
    子组件代码<template><viewclass="uni-select-dc"><viewref="select"class="uni-select-dc-select":class="{active:active}"@click.stop="handleSelect">......
  • Linux安装JDK详细教程
    Linux安装JDK详细教程(图文教程)这里介绍两种方式:yum安装方式和手动安装1、yum安装1.1查看JDK版本,找到你想要安装的JDK版本,这里以JDK1.8为例输入命令:yum-ylistjava*1.2安装JDK1.8输入命令:yuminstall-yjava-1.8.0-openjdk.x86_64没权限执行这行:sudoyuminstall......
  • 在安装snipe-it中遇到的坑
    首先总结,必须按照官方文档操作准备环境的坑:1.在centosEOL的背景下,最佳的替代品还是rockylinux2.在安装预环境LAMP时版本的选择。mysql选5+版本,官方文档给出的命令时5版本的第一步下载时没啥问题第二步配mysql时只要安装的5版本也没啥问题,如果安装的mysql8,就按照mysql8的命......
  • vue上传minio后无法预览 文件损坏
    文件损坏或者无法预览基本上都和两个问题有关Minio内部文件类型错误上传文件时传输的数据存在问题需要注意上传文件需要使用PUT方法,同时需要提交二进制数据所以web页面在上传之前需要读取文件二进制后在上传,同时需要注意调整Content-Type为实际的文件MIME类型可以在选择文......
  • Nginx——一个域名下部署多个Vue项目
    前言当前生成环境已经有一个正常的Vue项目,现在需要将大屏项目也部署到同一个域名下,搜索了下类型的问题,感觉问的还挺多的,所以这里记录下操作步骤;如何在不动第一个项目的情况下来部署第二个Vue项目;内容前端配置publicPath修改vue.config.js下的publicPath参数publicPath:pr......
  • Rocky Linux 9.4安装MySQL:使用RPM安装包方式
    RockyLinux9.4安装MySQL:使用RPM安装包方式一、安装环境安装环境如下:服务器:RockyLinux9.4安装版本:MySQL8.0.38二、安装过程和细节1、在官网下载RPM安装包官网下载地址如下,这个地址里有各个版本的安装包,根据自己的版本选择,下载对应系统的安装包https://dev.mysql.com/dow......
  • 在Ubuntu中安装docker最新的docker(被墙)(转)
    在目前的情况下download.docker.com访问不是特别稳定的情况下,可以使用阿里的地址来进行更新一、安装1、检查环境1.1卸载旧版dockersudosuaptremovedockerdocker-enginedocker.iocontainerdrunc2、安装依赖apt-yinstallca-certificatescurlgnupglsb......