1 回答

TA貢獻1789條經驗 獲得超8個贊
從Vuex 文檔中,您可以閱讀:
在 Vuex store 中真正改變狀態的唯一方法是提交一個 mutation
這意味著你不應該嘗試做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在我的示例中。
添加回答
舉報