Vuex - передача определенного состояния в качестве параметра

Когда вы назначаете dict2 = dict1, вы не делаете копию dict1, это приводит к тому, что dict2 является просто другим именем для dict1.

Чтобы скопировать изменяемые типы, такие как словари , используйте copy / deepcopy модуля copy .

import copy

dict2 = copy.deepcopy(dict1)

0
задан Joe82 13 July 2018 в 12:09
поделиться

1 ответ

Вы можете передать имя параметра, которое хотите изменить, как свойство в полезной нагрузке.

//to mutate firstparam
StorageEvent.commit('addLimit', {prop: 'firstparam', value: 'change'})

//to mutate secondparam
StorageEvent.commit('addLimit', {prop: 'secondparam', value: 'change'})

И использовать это свойство prop для полезной нагрузки для мутирования этого конкретного свойства

state: {
  firstparam:'',
  secondparam:''
},
mutations: {
  addLimit: function (state, payload) {
    state[payload.prop] = payload.value;
  }
}
1
ответ дан Vamsi Krishna 17 August 2018 в 12:56
поделиться