Когда вы назначаете dict2 = dict1
, вы не делаете копию dict1
, это приводит к тому, что dict2
является просто другим именем для dict1
.
Чтобы скопировать изменяемые типы, такие как словари , используйте copy
/ deepcopy
модуля copy
.
import copy
dict2 = copy.deepcopy(dict1)
Вы можете передать имя параметра, которое хотите изменить, как свойство в полезной нагрузке.
//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;
}
}