vue3 +TS 安装使用pinia状态管理

目录

一.安装

1.下载安装依赖

2.创建src/stores/index.ts文件

3.创建src/stores/states.ts文件

4.创建src/stores/interface/index.ts文件

5.修改main.ts

6.目录结构如下

7.测试使用

8.去到首页点击按钮,打开控制台查看


一.安装

1.下载安装依赖

npm install pinia

2.创建src/stores/index.ts文件

import { createPinia } from 'pinia';

// 创建
const pinia = createPinia();

// 导出
export default pinia;

3.创建src/stores/states.ts文件

// 在 src/store/index.js 中创建一个简单的 store
import { defineStore } from 'pinia'
import { UserInfoState } from "./interface/index"

interface State {
  userForm: UserInfoState;
}

export const useMyStore = defineStore('myStore', {
  state: (): State => ({
    userForm: {
      user: '',
      ID: '',
      age: '',
      sex: ''
    },
    // 其他状态
  }),
  actions: {
    // 动作
    setUserInfo(data:UserInfoState) {
      this.userForm = data
    },

  },
})

4.创建src/stores/interface/index.ts文件

// 示例
export interface UserInfoState {
	user:string;
  ID:string;
  age:string | number ;
  sex:string
} 

5.修改main.ts

添加内容

import pinia from "./stores/index"
app.use(pinia)

最后如下

import { createApp } from 'vue'
import '@/assets/style/index.css'
import App from './App.vue'

// 以下是 完整引入 element plus 时使用
// import ElementPlus from 'element-plus'
// import 'element-plus/dist/index.css'


// 引入图标库,如果您正在使用CDN引入,请删除下面一行。
import * as ElementPlusIconsVue from '@element-plus/icons-vue'

// 导入新建的路由文件
import router from "./router/index"

import pinia from "./stores/index"


const app = createApp(App)
app.use(router)
app.use(pinia)


// 以下是 完整引入 element plus 时使用
// app.use(ElementPlus)

for (const [key, component] of Object.entries(ElementPlusIconsVue)) {
  app.component(key, component)
}
app.mount('#app')

6.目录结构如下

7.测试使用

来到home/index.vue页面

新增测试代码

import { useMyStore } from "@/stores/states"
import { UserInfoState } from '@/stores/interface';

const useStore = useMyStore()
const testUseStore = () => {
  let data: UserInfoState = {
    user: 'admin',
    ID: '12345',
    age: '18',
    sex: '男'
  }
  useStore.setUserInfo(data)
  console.log(useStore.userForm);
}

最后home/index.vue页面代码

<template>
  <div class="common-layout">
    <div class="main-layout">
      <div class="line-first">
        <div class="line-first-one">
          <newsShow></newsShow>
        </div>
        <div class="line-first-two">
          <scoreShow></scoreShow>
        </div>
      </div>
      <!-- 测试功能按钮 -->
      <div>
        <el-button type="primary" @click="testUseStore">打印store</el-button>
      </div>
    </div>
  </div>
</template>

<script setup lang="ts">
// import Vditor from "@/components/vditor.vue"
// import Tinymce2 from "@/components/tinymce_vue2.vue" //vue2 写法
// import Tinymce3 from "@/components/tinymce_vue3.vue"
import newsShow from './components/news.vue'
import scoreShow from './components/actions.vue'

import { useMyStore } from "@/stores/states"
import { UserInfoState } from '@/stores/interface';

const useStore = useMyStore()
const testUseStore = () => {
  let data: UserInfoState = {
    user: 'admin',
    ID: '12345',
    age: '18',
    sex: '男'
  }
  useStore.setUserInfo(data)
  console.log(useStore.userForm);
}

</script>

<style scoped>
.common-layout {
  height: 100%;
  overflow: hidden;
}

.line-first {
  margin-bottom: 20px;
  display: flex;
  justify-content: space-between;
}

.line-first-one {
  width: 720px;
}

.line-first-two {
  width: 520px;
}
</style>


8.去到首页点击按钮,打开控制台查看

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

人类认知中的等价机理与机器智能中等价机理

人类认知中的等价机理是指人们在认知过程中&#xff0c;通过将不同的概念、事物或情境进行等价替代&#xff0c;从而实现思维的连贯和理解的补充。例如&#xff0c;当人们看到一个陌生的动物时&#xff0c;可以将它与已知的动物进行等价对应&#xff0c;从而理解其特征和行为。…

基于SpringBoot的毕业生实习与就业管理系统(系统+数据库+文档)

&#x1f345;点赞收藏关注 → 私信领取本源代码、数据库&#x1f345; 本人在Java毕业设计领域有多年的经验&#xff0c;陆续会更新更多优质的Java实战项目 希望你能有所收获&#xff0c;少走一些弯路。&#x1f345;关注我不迷路&#x1f345;一、绪论 1. 研究背景 现在大家…

私域流量转化差,这些问题你都解决了吗?

一、流量不精准 这是一个常见而又经常被忽视的问题。许多企业在私域运营中面临转化率低下的问题&#xff0c;但有没有想过&#xff0c;这可能只是因为你吸引的流量与你的产品不匹配&#xff1f; 从公域引流到私域&#xff0c;数量并非唯一关键&#xff0c;精准度更是重中之重…

如何在移动应用程序的 POC、原型和 MVP 之间做出选择?

许多企业家、企业和行业在决定是否将移动应用程序开发理念作为概念验证 (POC)、最小可行产品 (MVP)、原型或组合来推进时面临着挑战。 由于这三种方法对其利用都有各自的影响&#xff0c;因此正确理解每个方面并选择合适的方法将有助于利益相关者最大限度地提高其想法在用户和所…

送货单打印要用什么打印机和软件

在打印送货单时&#xff0c;打印机和软件的选择都是非常重要的。根据需求&#xff0c;可以选择喷墨打印机、激光打印机或针式打印机等类型&#xff0c;而软件我们可以选择专业的送货单打印软件&#xff0c;例如&#xff1a;方可销售送货单软件&#xff08;推荐&#xff09;就是…

Banner设计专家详细解释和使用技巧!

一、banner的作用 宝安在运营工作中具有吸引注意力、提高转化率、传达信息、提升品牌形象、引导用户行为、营造活动氛围等多种功能。因此&#xff0c;在运营工作中&#xff0c;需要根据具体需要和目标精心设计和合理使用宝安&#xff0c;才能达到更好的运营效果。 二、banner…

生信 R语言

11.芯片表达矩阵下游分析 ​rm(list ls())#清除所有变量 options(stringsAsFactors F) #BiocManager::install("CLL") suppressPackageStartupMessages(library(CLL)) data("sCLLex") sCLLex ## ExpressionSet (storageMode: lockedEnvironment) ## as…

RHCE9学习指南 第17章 进程管理

17.1 进程介绍 在Windows下打开任务管理器就可以查看到系统所有进程&#xff0c;如图17-1所示。 图17-1 Windows下的任务管理器 这里列出了系统中所有的进程。不过也可以使用命令行工具来查看进程。每个进程都会有一个process ID&#xff0c;简称为pid。 17.2 查看进程 也可…

解决录制的 mp4 视频文件在 windows 无法播放的问题

解决录制的 mp4 视频文件在 windows 无法播放的问题 kazam 默认录制保存下来的 mp4 视频文件在 windows 中是无法直接使用的&#xff0c;这是由于视频编码方式的问题。解决办法&#xff1a; 首先安装 ffmeg 编码工具&#xff1a; sudo apt-get install ffmpeg 然后改变视频的…

鸿鹄云商B2B2C:JAVA实现的商家间直播带货商城系统概览

【saas云平台】打造全行业全渠道全场景的saas产品&#xff0c;为经营场景提供一体化解决方案&#xff1b;门店经营区域化、网店经营一体化&#xff0c;本地化、全方位、一站式服务&#xff0c;为多门店提供统一运营解决方案&#xff1b;提供丰富多样的营销玩法覆盖所有经营场景…

使用Python打造一个爱奇艺热播好剧提前搜系统

目录 一、系统功能设计 二、数据获取与处理 三、搜索功能实现 四、用户界面设计 五、系统部署与维护 六、总结 随着互联网的普及和人们对于娱乐需求的增加&#xff0c;视频网站成为了人们观看电视剧、电影等视频内容的主要渠道。爱奇艺作为国内知名的视频网站之一&#x…

ChatGLM3-6B的本地api调用

ChatGLM3-6B的本地api调用方式 1.运行openai_api_demo路径下的openai_api.py 启动后界面&#xff1a; 注意&#xff1a;本地api调到的前提是——本地部署了ChatGLM3-6B,本地部署的教程可参考&#xff1a; 20分钟部署ChatGLM3-6B 部署了若CUDA可用&#xff0c;默认会以CUDA方…

【读书笔记】《白帽子讲web安全》浏览器安全

目录 第二篇 客户端脚本安全 第2章 浏览器安全 2.1同源策略 2.2浏览器沙箱 2.3恶意网址拦截 2.4高速发展的浏览器安全 第二篇 客户端脚本安全 第2章 浏览器安全 近年来随着互联网的发展&#xff0c;人们发现浏览器才是互联网最大的入口&#xff0c;绝大多数用户使用互联…

锂电池制造设备中分布式IO模块优势

在“碳达峰、碳中和”目标推动下&#xff0c;新能源汽车当下发展势头正盛&#xff0c;而纯电动车的核心部件则是&#xff1a;锂电池。动力型锂电池作为新能源汽车核心零部件&#xff0c;其发展与新能源汽车行业息息相关&#xff0c;迎来广阔的市场空间。 为何采用I/O模块&#…

【python可视化大屏】使用python实现可拖拽数据可视化大屏

介绍&#xff1a; 我在前几期分享了关于爬取weibo评论的爬虫&#xff0c;同时也分享了如何去进行数据可视化的操作。但是之前的可视化都是单独的&#xff0c;没有办法在一个界面上展示的。这样一来呢&#xff0c;大家在看的时候其实是很不方便的&#xff0c;就是没有办法一目了…

centos安装redis并配置开机自启动

目录 前言 redis安装 1、下载redis 2、安装redis 3、修改配置文件 redis配置服务并实现开机自启动 前言 Redis&#xff08;Remote Dictionary Server&#xff09;是一个开源的内存数据结构存储系统&#xff0c;它支持多种数据结构&#xff0c;包括字符串、哈希表、列表、集…

毛泽东,如何熬过人生至暗时刻?

文章目录 一、8年内三次蒙冤1、第一次蒙冤2、第二次蒙冤3、第三次蒙冤 二、毛泽东是怎么面对逆境的&#xff1f;三、极致的乐观精神四、结语参考文献 一件事&#xff0c;你做对了&#xff0c;立了功&#xff0c;但结果却是严厉的惩罚&#xff0c;甚至让你回到原点&#xff0c;你…

Fiddler -- https配置

首先&#xff0c;我们先在官网&#xff08;https://www.telerik.com/fiddler&#xff09;下载fiddler 下载好后双击 “.exe” 文件即完成安装 配置HTTPS 打开fiddler&#xff0c;在tools --> options --> https – 一次性勾选所有内容&#xff0c;点击 OK&#xff0c;…

Web开发SpringBoot SpringMVC Spring的学习笔记(包含开发常用工具类)

开发框架学习笔记 一.Spring SpringMVC SpringBoot三者的联系SpringMVC工作原理 二.SpringBoot的学习框架学习 2.各个类之间的继承和实现关系3.理解面向对象的思想(其实这个想写在2中的)四.开发常用工具Lombok4.0说在前面(如何快速使用Lombok)4.1了解Lombok4.2Lombok的作用一:减…

BERT Intro

继续NLP的学习&#xff0c;看完理论之后再看看实践&#xff0c;然后就可以上手去kaggle做那个入门的project了orz。 参考&#xff1a; 1810.04805.pdf (arxiv.org) BERT 论文逐段精读【论文精读】_哔哩哔哩_bilibili (强推!)2023李宏毅讲解大模型鼻祖BERT&#xff0c;一小时…