Мутация Vuex: деконструировать параметр состояния с использованием синтаксиса ES6 (с использованием структуры квазара) - PullRequest
0 голосов
/ 06 сентября 2018

У меня есть два разных синтаксиса. Я могу получить доступ к своим получателям и своим действиям, используя mapGetters () и mapActions (). Первый не деконструирует параметр состояния и работает. Второй действительно разрушает состояние, но мутация не изменяет состояние, в то время как получатель может получить доступ к состоянию, и у действия нет проблем с деконструкцией контекста.

Я не понимаю, почему. Я неправильно использую ES6 / vuejs / vuex / quasar?

Vue.use(Vuex)

export default new Vuex.Store({
  state: {
    counter1: 0,
    counter2: 0
  },
  getters: {
    counter1: state => state.counter1,
    counter2: ({ counter2 }) => counter2
  },
  mutations: {
    increment1: state => state.counter1++,
    increment2: ({ counter2 }) => counter2++
  },
  actions: {
    increment1: context => context.commit('increment1'),
    increment2: ({ commit }) => commit('increment2')
  }
})

1 Ответ

0 голосов
/ 07 сентября 2018

Мой друг дал мне ответ. Я неправильно использовал ES6.

{counter2} не ссылается на state.counter2, но делает его копию.

Имеет смысл, что я не могу изменить state.counter2 при изменении counter2.

...