У меня есть массив целей, который пользователь вставляет в приложение, этот массив целей отображается на маршруте в vue с использованием v-for l oop, с именем цели и рядом с ним кнопка. Каждая цель - это объект, в котором у меня есть пустой массив, в котором я хочу sh задачу, которую пользователь вставляет во входные данные, чтобы она добавлялась к относительной цели после щелчка рядом с ней. Я использую vuex, поэтому мне нужно передать индекс и задачу в мутацию в магазине. js.
Это маршрут, в котором значение индекса - от
<div class="list" v-for="(goal, index) in goals" :key="goal.goal">
<h2>{{goal}}</h2><add-button-task></add-button-task>
<div :class="{ isActiveTask : !isActiveTask }">
<div class="modal-backdrop">
<div @keyup.enter="addToDo(index)" class="modal">
<p>Add task to {{goal.goal}}</p>
<h3>Task</h3>
<br>
<input @keyup.escape="abortTask()" type="text" v-model="todo" maxlength="60">
<button @click="addToDo(index)">Add</button>
</div>
</div>
</div>
</div>
<div class="addLongTerm">
<p>Create a new long term goal</p>
<add-button-goal id="add"></add-button-goal>
</div>
addToDo(index){
if(this.todo == ''){
return
} else {
this.$store.commit('addToDo',
{'index':index,
'todo': this.todo})
this.todo = '';
this.toggleIsActiveTask();
}
},
Это в vuex
addToDo(state,object){
state.goals[object.index].toDo.push(object.todo)
console.log(object.index)
},