【发布时间】:2021-02-02 17:30:49
【问题描述】:
我正在尝试使用 Vue 和 Vuex 制作待办事项列表。在我的状态下,我有一个 todo 和 todoList。更新状态中的待办事项工作正常。然后我尝试将 todo 推送到 todoList。这也很好。但是当我推送第二个 todo 时,第一个变为与第二个 todo 相同...
<input type='text' :value="title" @input="updateTitle" placeholder="Title" ref="title">
<div class='addIcon' v-html="plusSVG" @click="addTodo"></div>
computed: {
...mapState({
title: state => state.todo.title
})
},
methods: {
updateTitle(e) {
this.$store.commit('updateTitle', e.target.value);
},
addTodo() {
this.$store.commit('addTodo');
}
}
store.js
state() {
return{
todo: {
title: '',
},
todos: [
]
};\
},
mutations: {
updateTitle(state, title) {
state.todo.title = title;
},
addTodo(state) {
state.todos.push(state.todo);
}
}
我不确定为什么它会改变已经推送到数组的内容。
【问题讨论】:
标签: javascript arrays vue.js vuex