Appearance
getters的作用有点类似与computed,将数据进行动态计算后返回。
getters的使用
使用箭头函数不能使用this,this指向已经改变指向undefined,修改值请用state,主要作用类似于computed数据修饰并且有缓存
javascript
import { defineStore } from 'pinia'
export const useCounterStore = defineStore({
id: 'counter',
state: () => ({
count: 0,
name: "cv大魔王"
}),
// 修饰一些值,可以理解为computed
getters: {
doubleCount: (state) => state.count * 2
}
})
使用时可以直接使用getters的名称进行调用
vue
<template>
<van-button type="primary">主要按钮{{ Counter.doubleCount }}</van-button>
</template>
<script setup>
import {useCounterStore} from '@/stores/counter.js'
const Counter = useCounterStore()
</script>
TIP
不得不说,pinia的改动真是改到我心里去了,以前用vuex不爽的点,在pinia中都得到了很好的解决,用起来简直不要太爽。