Я пытаюсь немного зайти в vue.js, и у меня возникают проблемы с отправкой элемента в массив. Приведенный ниже код основан на учебнике по scrimba, и сначала я немного его уточнил, но затем я получил ошибку: «Uncaught typeError: Cannot read property 'push' of undefined».
Поэтому я упростил его, пока не вернулся к основам из учебника. Однако ошибка остается ..
let app = new Vue({
el: '#toDoApp',
data: {
todos: [
{ text: 'Learn JavaScript' },
{ text: 'Learn Vue' },
{ text: 'Build something awesome' }
]
}
});
toDoApp.todos.push({ text: 'New item' });
После оператора push в списке должно быть 4 элемента, а не 3, которые я вижу.
Я читал кое-что в Интернете, говоря, что это, вероятно, связано с тем, что переменная, которой я пытаюсь ее назначить, не является массивом, но, насколько я могу судить, это так. А также тот факт, что я буквально не могу найти никакой разницы между этим и кодом учебника.
1 ответ
this.todos.push({ text: 'New item' });
ИЛИ
app.todos.push({ text: 'New item' });
Похожие вопросы
Новые вопросы
javascript
По вопросам программирования на ECMAScript (JavaScript/JS) и его различных диалектах/реализациях (кроме ActionScript). Обратите внимание, что JavaScript — это НЕ Java. Включите все теги, относящиеся к вашему вопросу: например, [node.js], [jQuery], [JSON], [ReactJS], [angular], [ember.js], [vue.js], [typescript], [стройный] и т. д.
let app = new Vue({...})
создает экземплярnew Vue
; тем самым установивnew Vue
в переменнуюapp
. Обычно это относится к любому языку программирования. Вы также можете проверить, как это делается здесь: dev. to/hugoliconv/lets-build-a-todo-app-using-vuejs-52in