Vue——pinia 状态管理器

1. 安装pinia

yarn add pinia
# 或者使用 npm
npm install pinia
# 或者使用 cnpm
cnpm install pinia

2. 项目初始化pinia

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')

3. 创建一个计数器的管理器counter.ts

import { defineStore } from 'pinia'

export const useCounterStore = defineStore('counter', {
  state: () => ({
    count: 0
  }),
  actions: {
    addCount() {
      this.count++
    }
  },
  getters:{
    countDouble(state){
      return state.count * 2 
    }
  }
})

4. setup中使用

<script setup lang="ts">
import { useCounterStore } from '../stores/counter'

const countStore = useCounterStore()
</script>

<template>
  <div>
    <div>count:{{countStore.count}}</div>
    <button @click="countStore.addCount()">增加</button>
  </div>
</template>

默认情况下,你可以通过 store 实例访问 state,直接对其进行读写

const countStore = useCounterStore()

//可读写
countStore.count++
//重置 state ,如果使用Setup函数 创建的管理器,该方法无效
countStore.$reset()
//$patch函数可以同一时间更改多个属性
countStore.$patch({count:0,name:'小明'})
//或
countStore.$patch((state) => {
  state.count = 0
  state.name = '小明'
})
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值