您好,欢迎访问一九零五行业门户网

vue3 vuex4 store的响应式取值问题怎么解决

场景:在页面中点击按钮,数量增加,值是存在store中的,点击事件,值没变。
<script setup lang="ts">import { usestore } from '@/vuex';const store = usestore()const onsubmit = () => { store.dispatch("incrementaction", 1);}let count = store.state.count</script><template> <h2 @click="onsubmit">{{ count }}</h2></template>
原因:store.state.count错误的取值方式,虽然可以取出,但是丧失了响应式,也就是触发increment事件时候,count的值不会变化
解决:<script setup lang="ts">import { usestore } from '@/vuex';import {computed} from 'vue'const store = usestore()const onsubmit = () => { store.dispatch("incrementaction", 1);}let num = computed(() => store.state.count)</script><template> <h2 @click="onsubmit">{{ count }}</h2> <h2>{{$store.state.count}}</h2></template>
或者,标签中用$store.state.count也能取得响应式的值。
以上就是vue3 vuex4 store的响应式取值问题怎么解决的详细内容。
其它类似信息

推荐信息