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)
}
}