【问题标题】:vuex store not refresh computed propertyvuex 存储不刷新计算属性
【发布时间】:2018-11-29 02:19:29
【问题描述】:

按照这个网址http://stackabuse.com/single-page-apps-with-vue-js-and-flask-state-management-with-vuex/的教程,我遇到了一个问题,即store中的状态改变后,计算属性中的函数没有自动调用。相关代码如下:

Survey.vue

computed: {
    surveyComplete() {
      if (this.survey.questions) {
        const numQuestions = this.survey.questions.length
        const numCompleted = this.survey.questions.filter(q =>q.choice).length
        return numQuestions === numCompleted
    }
    return false
    },
    survey() {
      return this.$store.state.currentSurvey
    },
    selectedChoice: {
      get() {
        const question = this.survey.questions[this.currentQuestion]
        return question.choice
      },
      set(value) {
        const question = this.survey.questions[this.currentQuestion]
        this.$store.commit('setChoice', { questionId: question.id, choice: value })
      }
    }
  }

选择调查问题中的单选按钮时,SelectedChoice将改变商店中的状态。然而,surveyComplete 方法没有同时被调用。有什么问题?提前致谢!

【问题讨论】:

    标签: vuex


    【解决方案1】:

    surveyComplete() 方法不会“窥探”您的商店,它只会在您更改 this.survey.questions 时更新。因此,如果您修改 store,surveyComplete 内部将不会发生任何事情。你可以在方法中使用 store。

    【讨论】:

      猜你喜欢
      • 2017-03-23
      • 2019-10-19
      • 2019-07-13
      • 2019-07-14
      • 2020-08-11
      • 2019-01-28
      • 2021-02-03
      • 2018-11-28
      • 2020-12-29
      相关资源
      最近更新 更多