我仍然无法理解为什么某些更改数据的方法有效,而其他方法却无效。我试过这个例子:
watch: {
'$store.state.linedata': function() {this.redraw()}
},
methods: {
redraw() {
this.chartOptions.series[0].data = this.$store.state.linedata
}
},
data() {
return {
chartOptions: {
chart: {
type: this.type
},
series: [{
data: this.$store.state.linedata,
name: "Test Series",
color: this.color
}]
}
}
}
此设置有效,每当我linedata在商店中更改时,组件都会更新。但是,对我来说,像这样更新数据而不引用会更直观this.chartOptions.series[0].data:
redraw() {
this.$store.state.linedata = [1,2,3,4,5,6]
}
这将正确更新状态,但不会导致使用新数据更新组件。为什么第二种方法不起作用,而我的第一种方法是正确的方法吗?我觉得我在这里误解了一些核心概念。最佳实践是什么样的?
谢谢!
拉丁的传说
相关分类