Я пытаюсь выяснить, что не так с моим методом toggleCompleted. Ошибка гласит:
'Uncaught TypeError: Cannot read property 'completed' of undefined
at Object.toggleCompleted (script.js:23)
var todoList = {
todos: [],
displayTodos: function () {
console.log('My Todos:', this.todos);
},
addTodo: function(todoText) {
this.todos.push({
todoText: todoText,
completed: false
});
this.displayTodos();
},
changeTodo: function(position, todoText) {
this.todos[position].todoText = todoText;
this.displayTodos();
},
deleteTodo: function(position) {
this.todos.splice(position, 1);
this.displayTodos();
},
toggleCompleted: function(position) {
var todo = this.todos[position]; // This is the line that is giving me issues
todo.completed = !todo.completed;
this.displayTodos();
}
};
Я ожидаю, что объект отобразит две вещи: что функция todoList.toggleCompleted
позволяет мне вставить любую строку, которую я хочу, и когда я ввожу строку, отображается завершенное свойствоtrue.
Я хотел бы знать, как решить проблему. Я вызываю метод следующим образом: todoList.toggleCompleted ('hello there');