vue3行内调用vuex同步方法
时间: 2023-08-02 16:38:35 浏览: 92
在 Vue 3 中,可以使用 `useStore` 函数来获取 Vuex 的 store 对象,然后在模板中使用 `$store.commit` 来触发 mutations。
例如,在组件的模板中可以这样调用 mutations:
```html
<template>
<div>
<button @click="increment">Increment</button>
<p>Count: {{ $store.state.count }}</p>
</div>
</template>
<script>
import { useStore } from 'vuex'
export default {
setup() {
const store = useStore()
function increment() {
store.commit('increment')
}
return {
increment
}
}
}
</script>
```
在这个例子中,当用户点击按钮时,`increment` 方法将会触发一个名为 `increment` 的 mutation,该 mutation 会增加 state 中的 count 属性的值。然后,由于 state 中的 count 属性已经被更新,所以模板中的 `{{ $store.state.count }}` 会更新为最新值。注意,`useStore` 函数只能在 `setup` 函数中使用,因为它需要在组件初始化时获取 store 对象。
阅读全文