Всем привет. Решил делить всё по компонентам и меня волнует некоторые проблемы. Я подитожу потом, но сначала расскажу и покажу код
Задача простая. Есть инпут, есть вывод таксков. При клике на кнопку я могу поменять значение таски.
Есть компонент(модуль, как более правильнее) ввода и отправки новой такси, а есть компонент отрисовки этих тасок
Когда я нажимаю отправить новую таску, то я делаю следующее
В самом компоненте
addNewTaskInState(){
this.$store.commit('addNewTask', this.taskValue)
}
Во VueX
addNewTask (state, task){
let localTask = {
id: this.getters.validID, // Эта функция помогает найти свободный ID. Не забивайте голову
taskValue: task
}
state.tasks.unshift(localTask)
Но компонент, который отрисовывает таски, не понимает, что там произошли изменения, ведь он только принимает данные из VueX и делает их копию, для отрисовки. Кстати я не уверен что я делаю это правильно
mounted: function(){
this.localTasksList = [...this.$store.state.tasks]
this.localTasksList.map(e => e.isEdit = false) // Это я добавляю к каждому элементу сигнал для редактирования
}
Как сделать так, чтобы 2 компонент отслеживал изменения, но при этом я мог с ними работать и менять данные. Ведь таски я должен редактировать.
И правильно ли я делаю, что копирую массив во VueX