pinia中$subscribe见听不到第一次
时间: 2023-11-21 11:30:07 浏览: 110
vue3+pinia 面向app项目
Pinia 中的 `$subscribe` 是一个用于监听 store 中数据变化的函数。当 store 中的数据发生变化时,`$subscribe` 函数会被触发,然后执行相应的回调函数。
默认情况下,`$subscribe` 是不会在第一次执行时触发回调函数的。如果你希望在第一次执行时也能触发回调函数,可以在调用 `$subscribe` 时传入 `true` 作为第二个参数,如下所示:
```
import { defineStore } from 'pinia'
export const useMyStore = defineStore({
id: 'my',
state: () => ({
count: 0,
}),
actions: {
increment() {
this.count++
},
},
})
const store = useMyStore()
store.$subscribe((_, store) => {
console.log('store count changed', store.count)
}, true)
```
在上面的代码中,我们通过将 `true` 作为 `$subscribe` 的第二个参数来使得回调函数在第一次执行时也能被触发。
阅读全文