(цифры в инпут, выбора месяца в селекте и нажатия на кнопку "Применить") this.$store.dispatch('charts/ApplyExpense',{params: {month: 01, year: 2020, increaseSum: 12000}}). А в экеше у меня что-то типа
async ApplyExpense({commit}, payload) {
if (payload) {
let data = await this.$axios.$get('web/expense', payload)
commit('SET_BUDGET', data)
} else {
let data = await this.$axios.$get('web/expense', {params: {year: 2020}})
commit('SET_BUDGET', data)
}
},
Так вот как можно разобрать то что пришло в payload и на основании уже решать обращаться к апи как сейчас или подтянуть имющиеся данные из стора который называется у меня PayrollExpense , пробежаться по нему циклом и поменять значения на те что пришли из payload ? Цикл понятное дело есть понимание как написать, не понятно только как принять, вытащить из payload и потом закоммитить измененый результат
Так у вас payload это просто объект. обращайтесь напрямую к необходимым свойствам. if (payload.params.month === '01') { const data = payload.params.increaseSum; commit('SET_BUDGET', data) }
this.$store.dispatch('charts/ApplyExpense',{month: 01, year: 2020, increaseSum: 12000}) async ApplyExpense({commit}, payload) { const isPayLoadExist = payload && (Object.keys(payload).length !== 0) const params = isPayLoadExist ? payload : {year: 2020} const data = await this.$axios.$get('web/expense', params) commit('SET_BUDGET', data) }
Обсуждают сегодня