如何在pinia的defineStore中直接定义函数
时间: 2024-05-02 12:19:04 浏览: 98
在vue中使用pinia,并且保持数据持久化
您可以在 Pinia 的 defineStore 中使用 actions 来定义函数,例如:
```typescript
import { defineStore } from 'pinia'
export const useMyStore = defineStore({
id: 'my',
state: () => ({
count: 0
}),
actions: {
increment() {
this.count++
},
decrement() {
this.count--
}
}
})
```
在上面的例子中,我们定义了一个名为 useMyStore 的 store,并在其中定义了 increment 和 decrement 两个函数。在组件中使用该 store 和函数的示例代码如下:
```vue
<template>
<div>
<p>Count: {{ count }}</p>
<button @click="increment()">Increment</button>
<button @click="decrement()">Decrement</button>
</div>
</template>
<script lang="ts">
import { defineComponent } from 'vue'
import { useMyStore } from './store'
export default defineComponent({
setup() {
const store = useMyStore()
return {
count: store.count,
increment: store.increment,
decrement: store.decrement
}
}
})
</script>
```
以上代码演示了如何在组件中使用 useMyStore store 的 count、increment 和 decrement。
阅读全文