Vue.js 将此.$集用作Vue中的计算/监视属性

Vue.js 将此.$集用作Vue中的计算/监视属性,vue.js,vuejs2,vuex,Vue.js,Vuejs2,Vuex,到目前为止,我一直在使用this.$set使用状态变量(来自vuex store)更改vuex store中一个getter的值 因此,在安装组件时,我用另一个值更改了该数据: mounted () { this.$set(this.linedata[0].chartOptions.xAxis,"categories",this.dates) } 现在我决定,只要this.dates变量发生变化,但 使用: 不起作用,所以我想知道当第二个变量发生变化时,如何设置第一个变量的值 编辑: 所

到目前为止,我一直在使用
this.$set
使用状态变量(来自vuex store)更改vuex store中一个getter的值

因此,在安装组件时,我用另一个值更改了该数据:

mounted () {
   this.$set(this.linedata[0].chartOptions.xAxis,"categories",this.dates)
}
现在我决定,只要
this.dates
变量发生变化,但 使用:

不起作用,所以我想知道当第二个变量发生变化时,如何设置第一个变量的值

编辑:
所以要明确的是,
这个。日期
值在api调用完成并收到响应后更新。因此,当此更改时,我需要更新
this.linedata[0].chartOptions.xAxis.categories
值,新值为
this.dates

而不是computed,您应该像这样使用watch部分:

watch: {
   dates (newValue, oldValue) {
     this.$set(this.linedata[0].chartOptions.xAxis,"categories",this.dates)
   }
}

如果您使用的是Vuex,为什么不使用操作和突变来设置所需的数据?您的用例是什么?我需要一些东西来观察其中一个vuex状态值的变化。。。我认为操作/突变不能解决规则1“仅突变修改状态”考虑在突变中使用
$set
。我得到一个错误,即定义了newValue,但从未使用过。如果不使用它们,您可以删除这两个参数。
watch: {
   dates (newValue, oldValue) {
     this.$set(this.linedata[0].chartOptions.xAxis,"categories",this.dates)
   }
}