当前位置: 首页 > 知识库问答 >
问题:

Vue:数据不会随着Vuex getter而改变?

云凌
2023-03-14

我有一个模态组件,当不同的组件突变triggerModalState字段时,我被触发。我有一个getter在我的Vuex商店叫getFulfillmentModalState。模态被从称为对话框的本地数据栏中驱动出来,我已经将其设置为getterthis的值。$store.getters.getFulfillmentModalState。我正在检查this.$store.getters.getFulfillmentModalState的值,并且在我触发modal之后它是true,但是对话框数据仍然是false。我到底做错了什么?

<template>
    <div class="fulfillment-modal-component">
        <v-row justify="center">
            <v-dialog v-model="dialog" persistent max-width="290">
                <v-card>
                    <v-card-actions>
                        <v-spacer></v-spacer>
                        <v-btn color="rgba(53, 87, 151, 0.85)" text @click="changeModalState(true)">Cancel</v-btn>
                        <v-btn color="rgba(53, 87, 151, 0.85)" text @click="changeModalState(false)">Continue</v-btn>
                    </v-card-actions>
                </v-card>
            </v-dialog>
        </v-row>
    </div>
</template>

<script>
    import {mapState} from 'vuex';
    import store from './../../store/store';

    export default {
        name: 'fulfillment-modal',

        mounted() {

        },

        data() {
            return {
                dialog: this.$store.getters.getFulfillmentModalState
            }
        },
    }
</script>

共有1个答案

相德宇
2023-03-14

在这种情况下,对话框不是被动的,因为它是在data()声明的。将对话框移动到计算,使其成为反应式对话框:

//...
export default {
  data() {
    return {
      //dialog: /*..*/   // move to computed
    }
  },
  computed: {
    dialog() {
      return this.$store.getters.getFulfillmentModalState
    }
  }
}

演示

 类似资料:
  • 每当在上运行我的应用程序时,我都无法将环境更改为开发。我已经搜索了有关此主题的相关链接,并尝试了所有解决方案和解决方案组合,但迄今为止都没有成功。每当我对任何模板文件或app.py文件进行更改时,我希望我的应用程序都能刷新。这是我尝试过的列表: 从我在Windows上的这个stackoverflow解决方案在我的终端上输入,所以我改为使用set Pip安装python-dotenv并在我的根目录中

  • 因此,我从文件夹中链接了两个HTML图像:images/但是在javascript中,我试图让骰子在每次刷新后随机更改这些图像。我不知道为什么它不起作用 下面是HTML代码 下面是js代码 注意:我是一个新的学习者,仍在努力理解javascript。谢谢你谦虚的回答和帮助。如果解释得简单一点,我就可以理解了。 修复上面的代码后 我在刷新页面时遇到问题这就是它显示的内容 在此处输入图像描述

  • 出于某种原因,我为Checkbutton变量编写的代码在函数内部时不会改变其工作方式,但是在函数外部和在其自身脚本中时,它会工作。下面是函数外部的代码 下面是在函数内部定义的代码 对于代码的顶部,当我选中一个框时,变量变为True。对于最下面的一个,不管我做什么,它们都保持在False。

  • 问题内容: 我正在尝试使用以下代码将一些JSON发布到具有cURL的Web服务: 我得到以下回报: string(282)“ HTTP / 1.1 200 OK服务器:Apache-Coyote / 1.1 Access-Control- Allow-Origin:*内容类型:text / plain内容长度:120日期:2011年3月18日,星期五:19:03:23 GMT {“ code”:“

  • 为什么gcc在上的末尾插入了,而我却要自己在上添加? 从:

  • 问题内容: 我正在使用SQL数据库,我有一列名为“价格”。创建数据库后,将“价格”列设置为“我”,需要将其类型更改为不丢失数据库中的数据。这应该通过SQL脚本来完成 我想到了创建一个新列,将数据移到其中,删除旧列,然后重命名新创建的列。 有人可以帮我举个例子吗?在SQL中也有一个函数可以将字符串解析为十进制? 谢谢 问题答案: 您无需添加新列两次,只需在更新新列后删除旧列即可: 请注意,如果不是数