pinia基本使用(四)の仓库互调用&重置仓库

仓库互调用

  1. 理解: 在仓库中引入另一个仓库实例化后进行调用
    index.ts
    import {defineStore,storeToRefs} from 'pinia'
    // 引入另一个仓库
    import {effStore} from './eff'
    type numbers={
      count: any
    }
    export const mainStore=defineStore('main',{
      state: () => {
        return <numbers>{
          count: 0
        }
      },
      getters: {},
      actions: {
        changeV(v: number) {
            // 在这里对引入的仓库进行实例化,可以直接相互调用
          const {num}=effStore()
          this.count=this.count+num
        }
      }
    })
    
    eff.ts
    import {defineStore} from 'pinia'
    type v={
      num: Number
    }
    export const effStore=defineStore('eff',{
      state: () => {
        return <v>{
          num: 5
        }
      }
    })

仓库的重置

定义: 使用仓库实例上的$reset方法,将仓库数据全部初始化

<script setup lang="ts">
import { mainStore } from './store/index'
import { storeToRefs } from 'pinia'
const store = mainStore()
const { count, countDouble } = storeToRefs(store)
const foo = () => {
  store.changeV(3)
}
const reset = () => {
 // 仓库实例上调用重置方法
  store.$reset()
}
</script>


<template>
  <h1>{{ count }}</h1>
  <h2>{{ countDouble }}</h2>
  <button @click="foo">点击</button>
  <button @click="reset">重置</button>
</template>


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!