我想在vuex状态更改时更新组件的状态

时间:2019-09-28 10:40:36

标签: vue.js vuex

这是我在商店中使用的任务模块。在这种情况下,我的showTaskInForm()函数可以正常工作。我可以通过vue开发工具看到任务出现在state.task中

int i = 0;
    for(i++; i++; i++){
        if(i>10)    break;
    }
    printf("%d",i);

这是我的AddTask.vue组件

int i;
    for(i++; i++; i++){
        if(i>10)    break;
    }
    printf("%d",i);

正如我前面提到的,我可以看到vuex中的state.task被填充,但是在我的AddTask.vue组件中,我需要确定vuex中是否有task,以便我的表单字段获取state.task的值。

请帮助我,我是Vue.js的新手。

1 个答案:

答案 0 :(得分:0)

实例化组件时,由AddTask组件中的数据函数返回的对象仅被评估一次。这意味着您的taskName和description表达式将在对象的生命周期内不求值。

您需要将taskName和description建模为计算属性,以便在依赖项更改后对第三级运算符进行评估(在您的情况下,task的值来自商店)。

import { mapActions, mapGetters } from "vuex";

export default {
  name: "AddTask",
  computed: {
    ...mapGetters(['task']),
    taskName() { 
      return this.task ? this.task.name : null
    },
    description() { 
      return this.task ? this.task.description : null
    }
};
相关问题