位置: IT常识 - 正文

Vue3中使用pinia(vue3中使用require)

发布时间:2024-01-04
Vue3中使用pinia

目录

1、安装:npm install pinia

2、创建store文件并配置内部的index.js文件

3、main.js文件中配置

4、组件使用

4-1、 store.$reset()  

 4-2 store.$patch

 5.订阅修改

6.Getter

7、Actions


1、安装:npm install pinia2、创建store文件并配置内部的index.js文件import { defineStore } from 'pinia' //引入pinia//这里官网是单独导出 是可以写成默认导出的 官方的解释为大家一起约定仓库用use打头的单词 固定统一小仓库的名字不易混乱export const useCar=defineStore("test",{ state: () =>{return ({msg:"这是pinia的数据",name:"小狮子",age:18}) //为了避免出错,返回的值用()包起来} })3、main.js文件中配置import { createApp } from 'vue'import App from './App.vue'const app=createApp(App)import { createPinia } from 'pinia' //引入piniaapp.use(createPinia())app.mount('#app') 4、组件使用<template><h1>aaa--{{store.msg}}----{{store.name}}--{{store.age}}</h1><button @click="change1">修改store.name</button><router-view></router-view></template><script setup>import {useCar} from "../store/index.js" //将之前配置的pinia文件夹中的index.js文件引入let store=useCar() //接收 console.log(store)let change1=()=>{store.name="小羊" //修改pinia里面的数据 console.log(store.name)}</script><style scoped>h1{width: 400px; height:200px;background-color:deeppink;}</style>

推荐整理分享Vue3中使用pinia(vue3中使用require),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:vue3中使用require,vue3使用教程,vue3中使用window方法,vue3中使用jsx,vue3中使用jsx,vue3中使用gis地图,vue3中使用gis地图,vue3中使用require,内容如对您有帮助,希望把文章链接给更多的朋友!

效果图

 点击按钮,界面变化

 说明成功修改了pinia里面的数据,且界面刷新证明这种直接修该pinia数据的方式依然是响应式数据。

但如果在接收pinia数据时,进行解构则不再是响应式数据,需要使用toRefs

toRefshttp://t.csdn.cn/pLB5f

4-1、 store.$reset()  

将状态 重置 到其初始值

当我们接收到pinia数据且对其数据进行了大量修改又想还原时,调用此方法就可以将接收的pinia数据全部重置还原

Vue3中使用pinia(vue3中使用require)

注意:store.$reset() 中的store是自己设定的接收变量,重点是 .$reset()  

<template><h1>aaa--{{store.msg}}----{{store.name}}--{{store.age}}</h1><button @click="change1">修改store.name</button><button @click="reset">reset</button><router-view></router-view></template><script setup>import {useCar} from "../store/car.js"let store=useCar() console.log(store)let change1=()=>{store.name="小羊"console.log(store.name)}let reset=()=>{ //初始化pinia数据store.$reset()}</script><style scoped>h1{width: 400px; height:200px;background-color:deeppink;}</style>

在之前的案例中修改了pinia的name属性值

 此时我们点击reset按钮,则会重置pinia的所有数据

 

 4-2 store.$patch

群体修改,可以将pinia的数据进行同一修改

特点:批量修改但状态只刷新一次

<template><h1>aaa--{{store.msg}}----{{store.name}}--{{store.age}}</h1><button @click="change1">修改store.name</button><button @click="reset">reset</button><button @click="fn">fn</button><router-view></router-view></template><script setup>import {useCar} from "../store/car.js"let store=useCar() console.log(store)let change1=()=>{store.name="小羊"console.log(store.name)}let reset=()=>{ //重置store.$reset()}function fn(){//批量修改store.$patch({ name:"小羊", age:20,})}</script><style scoped>h1{width: 400px; height:200px;background-color:deeppink;}</style>

 

 点击fn按钮后

说明批量修改成功

 5.订阅修改//可以通过 store 的 $subscribe() 方法查看状态及其变化,通过patch修改状态时就会触发一次store.$subscribe((mutation, state) => { // 每当它发生变化时,将整个状态持久化到本地存储 localStorage.setItem('test', JSON.stringify(state))})6.Getter

Getter 完全等同于 Store 状态的 计算值。 它们可以用 defineStore() 中的 getters 属性定义。 他们接收“状态”作为第一个参数以鼓励箭头函数的使用:(ps:虽然鼓励但是依然提供了非es6玩家的使用方式 内部可以用this代表state)

//store/index.js文件export const useStore = defineStore('main', { state: () => ({ counter: 0, }), getters: { doubleCount: (state) => state.counter * 2, },})//组件中直接使用: <p>Double count is {{ store.doubleCount }}</p>7、Actions

在pinia中没有提供mutaion 因为Actions就够了(它可以异步同步的统一修改状态)

之所以提供这个功能 就是为了项目中的公共修改状态的业务统一

export const useStore = defineStore('main', { state: () => ({ counter: 0, }), actions: { increment() { this.counter++//1.有this }, randomizeCounter(state) {//2.有参数 想用哪个用哪个 state.counter = Math.round(100 * Math.random()) }, randomizeCounter(state) { //异步函数 axios("/test").then(res=>{ state.counter = res.data.length }) } },})//组件中的使用: setup() { const store = useStore() store.increment() store.randomizeCounter() }
本文链接地址:https://www.jiuchutong.com/zhishi/285088.html 转载请保留说明!

上一篇:avpm.exe是什么进程 avpm进程是安全的吗(电脑avc是什么意思)

下一篇:最早的操作系统是什么(最早的操作系统被称为什么操作系统)

  • 微信排名领先的各行业大号盘点(微信新榜影响力排名)

    微信排名领先的各行业大号盘点(微信新榜影响力排名)

  • 教师节短信祝福语简短(教师节短语祝福)(教师节短信祝福又是一年)

    教师节短信祝福语简短(教师节短语祝福)(教师节短信祝福又是一年)

  • 戴尔笔记本触摸板怎么关闭和开启(戴尔笔记本触摸板被误关了怎么恢复)

    戴尔笔记本触摸板怎么关闭和开启(戴尔笔记本触摸板被误关了怎么恢复)

  • iphone热点怎么修改名字(iphone热点怎么改密码)

    iphone热点怎么修改名字(iphone热点怎么改密码)

  • 微信交医保怎么查询缴费凭证(微信交医保怎么操作)

    微信交医保怎么查询缴费凭证(微信交医保怎么操作)

  • 小度可以下载钉钉吗(小度可以下载钉钉和腾讯会议吗)

    小度可以下载钉钉吗(小度可以下载钉钉和腾讯会议吗)

  • 微信可以直接扫哈罗单车吗(微信可以直接扫码登录吗)

    微信可以直接扫哈罗单车吗(微信可以直接扫码登录吗)

  • 苹果x怎样隐藏软件不在桌面显示(苹果x怎样隐藏游戏软件)

    苹果x怎样隐藏软件不在桌面显示(苹果x怎样隐藏游戏软件)

  • eva一al00是什么型号(eva_al00华为是什么型号)

    eva一al00是什么型号(eva_al00华为是什么型号)

  • 拨打电话呼叫失败是什么意思(拨打电话呼叫失败是拉黑吗)

    拨打电话呼叫失败是什么意思(拨打电话呼叫失败是拉黑吗)

  • 华为手机售后保修范围(华为手机售后保养是什么)

    华为手机售后保修范围(华为手机售后保养是什么)

  • 钉钉视频会议听不见声音(钉钉视频会议听不到老师声音)

    钉钉视频会议听不见声音(钉钉视频会议听不到老师声音)

  • airpods可以连ipad吗(airpods可以连ipad2吗)

    airpods可以连ipad吗(airpods可以连ipad2吗)

  • excel名字两个字和三个字对齐(excel名字两个字中间加空格)

    excel名字两个字和三个字对齐(excel名字两个字中间加空格)

  • 一张照片怎么配音乐(一张照片怎么配音)

    一张照片怎么配音乐(一张照片怎么配音)

  • 闲鱼怎么注销实名认证(闲鱼怎么注销实体店)

    闲鱼怎么注销实名认证(闲鱼怎么注销实体店)

  • 新买的苹果11自带钢化膜吗(新买的苹果11自动关机)

    新买的苹果11自带钢化膜吗(新买的苹果11自动关机)

  • qq接收的图片在哪个文件夹(qq接收的图片在哪里找)

    qq接收的图片在哪个文件夹(qq接收的图片在哪里找)

  • 苹果怎么设置下载软件需要密码(苹果怎么设置下载不需要输入ID密码)

    苹果怎么设置下载软件需要密码(苹果怎么设置下载不需要输入ID密码)

  • 抖音赞了又取消显示吗(抖音赞了又取消会限流吗)

    抖音赞了又取消显示吗(抖音赞了又取消会限流吗)

  • 全民k歌电脑版怎么玩歌房(全民k歌电脑版本地作品在哪)

    全民k歌电脑版怎么玩歌房(全民k歌电脑版本地作品在哪)

  • mrjp2ch是ipad几代(mrjp2ch/a是什么型号的ipad)

    mrjp2ch是ipad几代(mrjp2ch/a是什么型号的ipad)

  • 防沉迷怎么修改

    防沉迷怎么修改

  • 手机如何缩小照片内存(手机如何缩小照片像素)

    手机如何缩小照片内存(手机如何缩小照片像素)

  • 华为5g在哪里成功上市(华为5g怎样了)

    华为5g在哪里成功上市(华为5g怎样了)

  • 荣耀和畅享有什么区别(荣耀和畅享有什么)

    荣耀和畅享有什么区别(荣耀和畅享有什么)

  • python idle 是什么(python里的idle在哪)

    python idle 是什么(python里的idle在哪)

  • 税务行政复议包括必须复议自由复议和选择复议三种类型
  • 个人所得税如何退税操作流程
  • 增量留底退税好处
  • 注册500万公司实缴多少钱
  • 运输企业支付罚款如何账务处理
  • 六个点的税率是小规模吗
  • 小企业无形资产取得的账务处理
  • 购销印花税会计分录
  • 长期待摊费用属于无形资产吗
  • 持有待售固定资产按照账面价值与可收回金额
  • 跨年主营业务成本直接冲回可以吗
  • 商场扣点收入如何纳税
  • 电子商务支付平台有哪些
  • 营改增后转让土地使用权
  • 电梯增值税率是多少
  • 利润表所得税费用怎么填
  • 固定资产清理的借贷方向表示什么
  • 政府减免税款如何做账
  • 代收代付差额征税
  • 企业报税的详细流程期限为
  • 抄报汇总对比通用怎么写
  • 违约金收入是否交增值税
  • 年终应交增值税结转怎么算
  • 企业送礼怎么办
  • 电脑网卡介绍
  • 单位购买金税盘的分录
  • 宽带调制解调器出现问题怎么解决
  • 全网最详细的破解卡密软件教程[2021首发]
  • office进程
  • 向分公司借款
  • 如何搭建chatGPT
  • 乌鲁米耶湖春季湖水更深
  • PHP:move_uploaded_file()的用法_Filesystem函数
  • 在建工程减值准备科目编码
  • 一文读懂谢娜张杰购房跳单事件始末
  • phpmvc框架工作原理
  • 销售不动产税目计缴增值税有哪些
  • 一般纳税人未取得增值税专用发票怎么处理
  • 拉尔韦橡
  • thinkphp框架作用
  • 作为大学生你能为国家安全贡献哪些力量论文
  • echarts遇到的坑
  • 购销农副产品需要交税吗
  • 暂估入账的原材料有成本差异吗
  • 报关单填写要求怎么填
  • 暂缓收缴工会经费申请
  • 企业购置房产进项税税率
  • 资产负债表第二年怎么填
  • db2导出数据到excel
  • 人工费暂估怎么做分录
  • 一般纳税人租赁费税率5%是简易征收吗?
  • 应收账款核算流程
  • 售后回租服务费开票
  • 企业收到拆迁补偿款
  • 2018城镇医疗保险缴费
  • 试生产期间的收入如何做账
  • 员工宿舍发生事故赔偿吗
  • 项目所在地个税网上怎么报
  • 个人银行帐户可以代理销户吗?
  • 会计凭证审核标准有哪些
  • 医院财务核算制度
  • 资产负债表日指的是什么
  • win8.1升级win10系统
  • xp系统还原系统
  • 制作xp系统盘需要多大u盘
  • nalntsrv.exe - nalntsrv是什么进程 有什么用
  • linux who am i
  • linux服务器常用操作命令
  • win7关机没有强制关机选项
  • nodejs settimeout异步
  • shell中的-n
  • JavaScript事件类型中UI事件详解
  • bootstrap需要学多久
  • c# addin
  • js图片预览
  • 天津租房网个人房源出租
  • 异地社保如何在本地使用医保
  • 税控盘换新盘
  • 契税补贴网上申请
  • 注册税务师条件要求
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号