0
私はAxesを使用してバックエンドから取得したチャートオブジェクトを格納するために使用する次のVuexストアを持っています。一括変異でVuexがフリーズする
const getters = {
charts(state) { return _.without(state.charts, undefined); },
chart(state) { return id => state.charts.find(c => { return c.id === id; }) }
}
const actions = {
getCharts({ commit, rootState }) {
// Load data from server
return api.get(rootState.Laravel.api_url + '/chart')
.then((response) => {
// Store the returned data
_.forEach(response.data.data, function(chart) {
commit('STORE_CHART', chart);
});
})
.catch((error) => console.log(error));
}
}
const mutations = {
STORE_CHART(state, chart) {
Vue.set(state.charts, chart.id, Object.freeze(chart));
}
}
ストアが正常に動作しますが、できるだけ早く私はVueDevtoolsを開き、再び)(getChartsを呼び出すよう、全体のブラウザがフリーズします。私は一括してストアを更新しているため、devtoolsはこれらの変更(150〜200個のオブジェクト)をすべて追跡できないためです。
私が間違っていることはありますか? Vuexストアのオブジェクトを一括更新するより良い方法はありますか?
でのforEachを適用することができ、各
chart
のための変異を通勤この。 – Edwardo