vue-cli2使用pinia(基本使用)

Vue前端开发-Pinia模块安装与配置 Vue Pinia是一个专门为Vue 3设计的状态管理库,旨在提供一种简单、直观且灵活的方式来处理应用中的全局状态。 阅读详情

main.js

import Vue from 'vue'
import App from './App.vue'

Vue.config.productionTip = false

import { createPinia } from 'pinia'
// 创建pinia实例
const pinia = createPinia()
// 挂载到Vue根实例
Vue.use(pinia)

new Vue({
  render: h => h(App)
}).$mount('#app')

store文件夹下的index.js

import { defineStore } from 'pinia'
import { jspangStore } from './jspang'

// 1.定义并导出容器
// 参数1:容器的ID,必须唯一,将来pinia会把所有的容器挂载到根容器
// 参数2:选项对象
// 返回值:一个函数,调用得到容器实例
export const mainStore = defineStore('main', {
    /*
    * 类似于组件的 data ,用于存储全局状态的
    * 1. 必须是函数,这样是为了在服务端渲染的时候避免交叉请求导致的数据状态污染
    * 2. 必须是箭头函数,这是为了更好的 TS 类型推导
    * 
    */
    state: () => {
        return {
            count: 100,
            foo: 'bar',
            phone: '1513933888',
            xiao: '1'
        }
    },

    /*
    * 类似于组件的 computed,用于封装计算属性,有缓存功能
    */
    getters: {
        phoneHidden(state) {
            return state.phone + '你好嘛'
        }
    },
    /*
    * 类似于组件的 methods,封装业务逻辑,修改 state
    */
    actions: {
        add() {
            this.count++
        },
        getList() {
            // console.log(jspangStore().hanglist);
            this.xiao = jspangStore().hanglist
        }
    }
})

1.组件使用state数据

<template>
  <div>

    {{ mainstore.phoneHidden }}
    {{ mainstore.count }}
    {{ mainstore.xiao }}


  </div>
</template>

<script>
// 这里引入一下我们定义的容器
import { mainStore } from '../store/index'
export default {
  data() {
    return {
      name: "小李",
      info: {
        hobby: "网站",
      },
      // 看这里,把这个引入的函数赋值给data里的值
      mainstore: mainStore()
    };
  }
};
</script>

<style>
</style>

2.组件使用actions数据

<template>
  <div>
	<button @click="clickButton()">触发actions函数<button>
  </div>
</template>

<script>
// 这里引入一下我们定义的容器
import { mainStore } from '../store/index'
export default {
  data() {
    return {
      name: "小李",
      info: {
        hobby: "网站",
      },
      // 看这里,把这个引入的函数赋值给data里的值
      mainstore: mainStore()
    };
  },
  methods:{
  	// 我们在actions定义add函数
  	clickButton(){
  		this.mainstore.add()
  	}
  }
};
</script>

<style>
</style>
vue2使用pinia.js的详细教程,踩坑解决方法 pinia不好用,建议别用! 阅读详情

相关推荐

Vue生态整理

结合 Vitest 和 Cypress 保障代码质量,使用 VitePress 生成文档,PNPM 管理依赖。根据项目需求选择 UI 库和跨端方案(如移动端用 Vant,跨平台用 Quasar 或 Uni-app)。Vue 官方生态整理以下为Vue官方生态整理翻译,仅供参考,具体请前往查看。

Binoculus的博客 1275

vue 2中使用pinia

如何在vue2中使用pinia.

Anonymous996的博客 1万+

2024vue官方生态最全整理

经过多年的不断演进,Vue 已经构建了一个极为丰富且强大的生态系统,今天就来盘点 Vue 官方生态系统中那些好用的工具!

夏天的博客 1084

vue2项目使用pinia

pinia官网:https://pinia.web3doc.top/报错,解决方法,路由动态加载。改成一下方式就没有报错了。

YanHSama的博客 2441

Vue 2 升级 Vue 3 全流程实战手册(Vue CLI 转 Vite + Element Plus + Pinia)

本文为完整实战文档,包含全流程,已脱敏处理隐私信息,可直接用于企业项目升级参考,复制即可发布至 优快云。

2301_80986465的博客 481

别再手动填数据了!Vivado里用.coe文件给ROM IP核预装数据的保姆级教程

本文详细介绍了在Vivado中使用.coe文件为ROM IP核预装数据的全流程教程,包括文件格式规范、数据转换技巧和Vivado配置指南。通过自动化数据加载,开发者可以显著提升FPGA开发效率,避免手动输入错误,适用于查找表、波形存储等多种应用场景。

weixin_33377602的博客 337

Vue2或Vue3使用Pinia快速入门

Store” 在上下文中通常指的是状态管理库中的一个概念,用于存储应用程序的数据状态。在 Vue.js 中,“store” 通常是指 Vuex,而在使用 Pinia 的情况下,它指的是 Pinia 的 store 对象,用于管理应用程序的状态。这样,你就可以在 Vue 2 或Vue3项目中使用 Pinia 进行状态管理。请注意,Vue 2 和 Vue 3 的生命周期和一些语法细节可能有所不同,需要根据你的项目进行适当的调整。

TangMonk的博客 3598

Windows报错“The system cannot find the file specified“的PATH环境变量解决方案

摘要: Windows系统中出现"The system cannot find the file specified"错误通常因PATH环境变量配置问题导致。本文提供解决方案:1)检查并修正PATH变量(通过命令行或图形界面添加缺失路径);2)确认程序安装路径及拼写无误;3)恢复误改的系统变量。示例演示了Python路径配置及无效路径清理方法,建议谨慎修改变量、使用绝对路径并定期检查。附参考表格详述操作步骤,帮助用户高效解决问题并优化系统环境。

shejizuopin的博客 3513

【vite+pinia】

2. √ Project name: ... vite-project --- 创建项目(起名)### --vite 只搭建纯粹的vue 项目,其他比如vuex,router都需要自己安装。cd vite-project --- 进入项目目录。npm install --- 安装项目依赖。npm run dev --- 启动项目。1. npm create vite@latest ---- 创建项目。## vue2-3:vue-cli 构建项目。

Assassin108的博客 318

ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: NO)解决办法

问题:ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’ (using password: NO) 很久没用这台电脑的mysql了,今天需要连接数据库,启动数据库报错: ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’ (using password: NO) 解决方法: 查阅资料后知道了,应该使用已知的用户名和密码登陆 mysql -u root -p 然而密

一个超会写Bug的程序猿的博客 43万+

超详细!新手必看STM32-DMA配置与实验(串口使用DMA发送数据)

DMA就是:直接存储器访问。DMA传输数据从一个地址空间复制到另一个地址空间,提供在外设和存储器或者存储器和存储器之间的高速数据传输。

qq_1033275663的博客 2万+

pinia、pinia-plugin-persistedstate包安装失败解决办法

用cli 生成的 vue3 项目,如果自己安装 pinia 的话会安装最新版本,即2.1.x,pinia默认安装的是vue 2.6版本,已经不支持 vue3.3 以下使用,在进行安装时报错

github_53963510的博客 6909

MacOS上VScode配置PlatformIO Core的疑难杂症与提速实战

本文详细解析了在MacOS上使用VScode配置PlatformIO Core时遇到的安装卡死、新建项目缓慢等常见问题,并提供了官方脚本安装、网络优化、命令行预下载等实用解决方案。通过环境变量配置和镜像源加速,大幅提升开发效率,特别适合ESP32等嵌入式开发场景。

weixin_42567046的博客 220

vue3全家桶技术栈基础(一)

vue3全家桶总结

qq_44472790的博客 3841

OpenCV C++ 图像处理实战 ——《基于轮廓比对的缺陷检测》

本文使用OpenCV C++ 实现基于轮廓比对的缺陷检测。

Zero___Chen的博客 1143

为Skill开发的python脚本一些经验

其中SKILL.md的职责是调度,不是实现,这里面要写清楚如下三点: 脚本会自动生成: 如果缺少依赖: 这样就实现了分工,脚本用来完成格式转换、统计计算、文件生成;Claude做理解用户意图、选择参数、解释结果、处理特殊需求等。Claude 调用脚本时,所有参数都通过命令行传递,本质上都是字符串。但在脚本内部,应该明确转换成正确类型,而不是全程当字符串用。因此,强烈建议使用argparse里声明正确的type,如下: 的 参数会自动做转换和报错,比在代码里手动 更安全,报错信息也更清晰。特别注意如下

Criss@陈磊 835

创建vue3和vue2项目命令对比

场景推荐方案全新项目学习 Vue维护现有 Vue 2 项目尽快规划迁移至 Vue 3必须新建 Vue 2 项目使用vue create+ Node 16,并标记为临时方案。

bsklhao的博客 225

(王道408考研操作系统)第三章内存管理-第一节1:内存基础知识、程序编译运行原理

注意:本节内容和《计算机组成原理》“存储器”那一部分内容相关性很强,组成原理是从硬件角度,操作系统是从软件角度。因此如果没有学习过这部分的同学,强烈建议先看这一部分 王道计算机组成原理笔记 本文主要会涉及以下必要的内存知识 文章目录一:内存及其作用 一:内存及其作用 内存:内存又称之为主存。是一种硬件设备,作为CPU和硬盘的缓冲区,用于解决其速度不匹配的问题,提高整机性能。程序执行前需要放入内存才能运行 ...

快乐江湖的博客 2790

(面试/实用)Vue2、Vue3的核心区别/差异,超详细总结!

vue2和vue3的区别是面试中常被问到的问题,本文从几个大方向总结了两者的差异,希望能够帮助各位同学从vue2过渡到vue3。

weixin_54087610的博客 5310

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

2.0 vue工程项目的创建

命令是创建一个全新的、现代化的 Vue 3 项目的标准方法。它利用create-vue脚手架工具,通过交互式配置,为你生成一个基于 Vite、可选 TypeScript、Vue Router、Pinia、Vitest、ESLint、Prettier 等技术栈的项目。如果你想创建 Vue 2 项目,请不要使用这个命令,因为它创建的是 Vue 3 项目。你应该使用之前介绍的vue create(Vue CLI) 并手动选择 Vue 2 版本。

chxii的专栏 1250

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Vue2 & 3 学习笔记

vue2 & 3学习笔记

gl199555的博客 1394

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

下一代Vuex(Pinia)不学你就out了

疑问带你快速入门下一代Vuex(Pinia)。

WEB前端李志杰 2290

Vue2和Vue3区别

proxy (Vue3通过proxy,可以访问到组件的属性和方法,就像直接访问组件实例一样,但它会自动进行响应式处理。proxy 是 Vue 3 提供的新的 API,用来代替 Vue 2 中的 this。使用 proxy 你可以访问组件的 data、props、methods、computed 等,这些都能通过代理对象 proxy 来访问。npm create vite@latest 9-vueShop – – template vue (使用 Vite 创建 Vue 项目的方式,)

qq_51793851的博客 837

X-BUILD项目结构解析:理解大型Vue3应用的最佳组织方式

X-BUILD是基于Vite2 + Vue3 + TypeScript构建的前端脚手架,为大型Vue3应用提供了清晰高效的项目组织方式。本文将深入解析X-BUILD的项目结构,帮助开发者快速掌握其架构设计与最佳实践。 ## 一、项目整体架构概览 X-BUILD采用了模块化的设计思想,将项目划分为多个核心目录,每个目录承担特定的功能职责。这种结构设计不仅便于代码管理和维护,还能显著提升团队协作效

gitblog_00966的博客 354

vue2和vue3+vite全局变量和环境变量问题总结(学习文章)

本文对比了Vue2和Vue3在环境变量与全局变量配置上的差异。环境变量方面,Vue2使用VUE_APP_前缀和process.env访问,Vue3改用VITE_前缀和import.meta.env。全局变量方面,Vue2通过Vue.prototype挂载,Vue3使用app.config.globalProperties,组合式API需通过getCurrentInstance访问。文章推荐Vue3复杂状态使用Pinia管理,并提供了命名规范和兼容性建议,为开发者提供了清晰的配置指南。

qq_59499037的博客 241

Vite的使用说明

---------- 使用create-vue搭框架(可选router和pinia) ------------------------- 使用vite搭框架(没有router和pinia) -------------------------- 组件库element-plus ---------------------- 预处理器 Sass ---------------------- 配路由 ------------------------- 配代理 -------------

Web_Lvz的博客 305
上一篇: localstorage基本使用
下一篇: 元素距离页面上的Top和Left
流浪的特码头
博客等级 码龄6年 2粉丝 5原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值