【Vue3】pinia管理数据的三种方式

💗💗💗欢迎来到我的博客,你将找到有关如何使用技术解决问题的文章,也会找到某个技术的学习路线。无论你是何种职业,我都希望我的博客对你有所帮助。最后不要忘记订阅我的博客以获取最新文章,也欢迎在文章下方留下你的评论和反馈。我期待着与你分享知识、互相学习和建立一个积极的社区。谢谢你的光临,让我们一起踏上这个知识之旅!
请添加图片描述

🍋第一种

我们首先将需要的代码文件呈现一下

<template>
<div class="count">
    <h2>当前求和为:{{ countStore.sum }}</h2>
    <h3>欢迎来到:{{ countStore.school }},坐落于:{{ countStore.address }}</h3>
<select v-model.number="n">
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
</select>
    <button @click="_add"></button>
    <button @click="_jian"></button>
</div>
</template>
<script setup lang='ts' name="Count">
    import {ref} from 'vue'
    import {useCountStore} from '@/store/Count'
    const countStore = useCountStore()
    let n = ref(1)

    function _add(){
  
    function _jian(){
        
    }


</script>
<style scoped>
  .count {
    background-color: skyblue;
    padding: 10px;
    border-radius: 10px;
    box-shadow: 0 0 10px;
  }
  select,button {
    margin: 0 5px;
    height: 25px;
  }
</style>

还有Count.ts

import {defineStore} from 'pinia'

export const useCountStore = defineStore('Count',{
  // 真正存储数据的地方
  state(){
    return {
      sum:2,
      school:'北京大学',
      address:'北京'
    }
  }
})

第一种修改方式属于拿到就可以修改

countStore.sum+=n.value

🍋第二种

第二种修改方式是,适用场景是很多数据需要同时的变更

countStore.$patch({
          sum:888,
          school:'清华大学',
          address:'北京'
        }) 

🍋第三种

第三种方法是使用action
在Count.ts中将action写好

actions:{
    increment(value){
      if( this.sum < 10){
        // 修改数据(this是当前的store)
        this.sum += value
      }
    }
  }

再回到Count.vue加一行

countStore.increment(n.value)

这样就可以修改了
请添加图片描述

🍋总结

以上就是在Vue3中使用Pinia管理数据的三种方式

请添加图片描述

挑战与创造都是很痛苦的,但是很充实。

  • 21
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 20
    评论
Vue 3中,Pinia是一个状态管理库,它提供了一种简单而强大的方式管理应用程序的状态。当需要重置数据时,可以通过以下步骤来实现: 1. 首先,在你的应用程序中安装和配置Pinia。可以使用npm或yarn来安装Pinia,并在你的Vue应用程序的入口文件中进行配置。 2. 创建一个Pinia store。在store中定义你需要管理的状态和相关的操作方法。 3. 在store中添加一个重置数据的方法。这个方法可以将所有需要重置的状态设置为初始值。 4. 在你的组件中使用store。通过在组件中引入store,并使用`useStore`函数来获取store的实例。 5. 在需要重置数据的地方调用store中的重置方法。可以在组件的生命周期钩子函数中调用重置方法,或者在用户触发某个事件时调用。 下面是一个示例代码,演示了如何在Vue 3中使用Pinia来重置数据: ```javascript // 安装和配置Pinia import { createApp } from 'vue' import { createPinia } from 'pinia' import App from './App.vue' const app = createApp(App) app.use(createPinia()) // 创建一个Pinia store import { defineStore } from 'pinia' const useCounterStore = defineStore('counter', { state: () => ({ count: 0, // 其他需要管理的状态 }), actions: { increment() { this.count++ }, reset() { this.count = 0 // 重置其他状态 }, }, }) // 在组件中使用store import { useStore } from 'pinia' export default { setup() { const store = useStore() // 调用重置方法 const resetData = () => { store.reset() } return { resetData, } }, } ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 20
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小馒头学python

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值