Из документации Vuex вы можете прочитать:
Единственный способ изменить состояние в хранилище Vuex - это совершить мутацию
Значит, не надо пытаться делать this.$store.state.linedata = [1,2,3,4,5,6]
. Кстати, это может вызвать ошибку в зависимости от ваших настроек Vuex в консоли. Вместо этого создайте такую мутацию:
mutations: {
updateLineDate(state, lineDate) {
state.lineData = lineData;
}
}
А затем вызовите:
this.$store.commit("updateLineDate", [1, 2, 3, 4, 5, 6]);
Чтобы автоматически обновлять данные вашей диаграммы, я бы предложил создать вычисляемое свойство в вашем Vue компоненте. . Чтобы он реагировал на изменения, сопоставьте свой атрибут с помощью mapState
:
import { mapState } from "vuex";
// ...
computed: {
...mapState("lineData"),
chartData() {
return {
chart: {
type: this.type
},
series: [{
data: this.lineData,
name: "Test Series",
color: this.color
}]
}
}
}
Затем не забудьте указать chartData
для компонента диаграммы вместо chartOptions
в моем примере.