Где видны ошибки
Ошибки — нормальная часть программирования, и Vue сообщает о них в двух местах.
Ошибка в файле, например пропущенный закрывающий тег, не даёт приложению запуститься. Предпросмотр остаётся пустым, а под ним красным цветом написано, что не так и где:
App.vue(13,5): Element is missing end tag.Числа — это строка и столбец: у элемента, который начинается в строке 13 файла App.vue на 5-м символе, нет закрывающего тега. Исправьте ошибку и снова нажмите «Запустить».
Ошибки во время работы приложения видны в консоли под предпросмотром, как на курсе JavaScript. Кроме ошибок Vue пишет туда предупреждения, которые начинаются с [Vue warn]:. После предупреждения приложение продолжает работать, но что-то идёт не так. Самое частое из них говорит, что шаблон использует имя, которого нет в скрипте:
[Vue warn]: Property "price" was accessed during render but is not defined on instance.
at <App>Это значит, что шаблон обратился к price, пока Vue делал страницу (Vue называет это отрисовкой), а у компонента нет ничего с таким именем. Последняя строка говорит, в каком компоненте это случилось, здесь в App. Обычно это опечатка, в шаблоне или в скрипте, а на месте имени страница ничего не показывает.
Ошибка в функции называет файл и строку после имени функции:
ReferenceError: total is not defined
at addToOrder (App.vue:9)Перед ней Vue пишет собственное предупреждение, [Vue warn]: Unhandled error during execution of native event handler: ошибка случилась в функции, которую запустило событие. Читайте ошибку под предупреждением: она говорит, что пошло не так.
Прежде чем начать, попробуйте ошибку первого вида: удалите в шаблоне </h1> после заголовка и нажмите «Запустить». Прочитайте сообщение под предпросмотром, а потом верните </h1> на место.
Задание
- 1
Нажмите «Запустить»: цены эспрессо нет, и в консоли появилось предупреждение. Исправьте ошибку, чтобы страница показывала
Эспрессо, €2, а предупреждение исчезло. - 2
Нажмите «Добавить в заказ»: число не меняется, а в консоли появилась ошибка. Прочитайте, где она случилась, исправьте её и снова нажмите на кнопку.