【发布时间】:2018-08-29 17:01:24
【问题描述】:
“仅删除已完成”按钮有问题。它应该删除所有已完成的任务。当任务完成时,它会将属性“finishedTask”更改为 true。然后我将所有已完成的任务放入数组'finished'中,但是我不能从那个数组中一次删除所有任务。我使用两个for循环来解决这个问题,但不幸的是它不能正常工作。下面是完整的 vue.js 代码。 JSFiddle GitHub
new Vue({
el: '#app',
data: {
index: 0,
finished: [],
todos: [],
newTask: "",
},
methods: {
addTask() {
todo = {
index: this.index++,
task: this.newTask,
finishedTask: false
}
if (this.newTask == '') {
alert('Write a task!')
}
else {
this.todos.push(todo);
this.newTask = "";
}
},
delete: function(index) {
this.todos.splice(index, 1)
},
deleteEverything: function() {
if (this.todos.length == 0)
alert('You dont have tasks!')
else
this.todos.splice(0, this.todos.length)
this.newTask = ""
},
finish: function(index) {
this.todos[index].finishedTask = !this.todos[index].finishedTask
},
finishEverything: function() {
for (var i = 0; i < this.todos.length; i++)
this.todos[i].finishedTask = true
},
deleteFinished: function() {
for (var i = 0; i < this.todos.length; i++) {
if (this.todos[i].finishedTask == true) {
this.finished.push(this.todos[i].index)
}
for (var j = 0; j < this.finished.length; j++) {
this.todos.splice(this.finished[j], 1)
}
}
【问题讨论】:
标签: javascript vue.js