Vue, слежение за изменениями во Vuex
Доброго времени суток.
Имеется некое хранилище с геттером getSalesByFilter:
const getters = {
getSalesByFilter: state => filter => {
filter = Object.assign(defaultFilter, filter);
if (filter.groupBy === 'year') {
return groupByYear(state.sales);
}
}
};
В компоненте используется следующий код:
computed: {
...mapGetters(['getSalesByFilter']),
changeChartOptions () {
console.log('Computed', this.getSalesByFilter(this.filter));
return 'Computed' + Date.now();
}
},
watch: {
changeChartOptions () {
console.log('Watcher')
}
},
При изменении состояния необходимо перерисовть график. Соответственно необходимо следить за геттером.
Как это правильно реализовать ? Почему код выше работает ?
P.S. Код выше работает (changeChartOptions), но только в том случае, если указано watch и computed свойства (в ином случае ничего не происходит).