• 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>
      <h1 @click="onSubmit">{{ count }}</h1>
    </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>
      <h1 @click="onSubmit">{{ count }}</h1>
      <h1>{{$store.state.count}}</h1>
    </template>

    或者,标签中用$store.state.count也能取得响应式的值。

  • 相关阅读:
    linux配置虚拟主机
    mysql允许远程登录
    php优化
    php socket 函数
    1-- prometheus安装、图形化界面
    Ansible Roles
    Ansible 的 Playbook
    Ansible 变量
    Ansible 模块
    Ansible入门;Ansible ad-hoc; ansible-vault加密工具 ;ansible-console
  • 原文地址:https://www.cnblogs.com/wang715100018066/p/16623771.html
Copyright © 2020-2023  润新知