Множество проблем / недоразумений с вашим подходом.
1) computed
свойства являются «пассивными» и должны return
значение «вычисляться» из других значений. Прямое присвоение вашему локальному состоянию, вероятно, не то, что вы хотите сделать.
2) Методы HTTP: In general the HTTP PUT method replaces the resource at the current URL with the resource contained within the request.
Пожалуйста, ознакомьтесь с методами http и с тем, как они должны использоваться. Вы хотите, чтобы GET
3) mapState
- вспомогательный метод, если вам нужно несколько геттеров из хранилища состояний vuex. Я предлагаю вам использовать this.$store.getters.myVariableInState
для простых задач, как в вашем примере.
То, что вы, вероятно, хотите, больше похоже на эти строки:
// store
getters:{
employee: state => state.employee
}
// component
computed: {
employee() {
return this.$store.getters.employee
}
}
Если ваши действия уже были отправлены ранее и данныедоступно в магазине, и все, что вам нужно, это
methods: {
editEmployee() {
this.form = this.employee
}
}
Поскольку в вашем вопросе указано «изменить локальные данные об изменении состояния», вот подход для этого:
watch
ваше локальное вычисляемое свойство
watch: {
employee() {
// this.employee (the computed value) now refers to the new data
// and this method is triggered whenever state.employee changes
}
}