Итоги
В этом уроке вы узнали, что:
v-modelсвязывает поле с рефом в обе стороны: введённое попадает в реф, а изменение рефа видно в поле. Он делает то же, что:valueи@inputвместе, а в шаблоне пишется без.value.- Он работает с текстовыми полями и с
textarea(никогда не пишите{{ }}между её тегами), сselect, реф которого получаетvalueвыбранного варианта (:value, если варианты берутся изv-for), и с переключателями, реф которых получаетvalueотмеченного. - Флажок с рефом
trueилиfalseотвечает «да» или «нет». Несколько флажков с одним массивом заполняют его значениями отмеченных. - Значение поля — всегда текст.
.trimубирает пробелы в начале и в конце, а.numberпревращает его в число. Поля сtype="number"получают.numberсами, а переключатели и флажки получают числа через:value. @submit.preventна форме запускает вашу функцию, когда форма отправлена. Без.preventстраница загружается заново, и приложение начинается с нуля.- Чтобы добавить элемент из формы, поместите в массив объект с собственным
id, а потом очистите поля, изменив их рефы. - Сообщения об ошибках лежат в шаблоне, под
v-if, а реф говорит, когда их показывать.:disabledне даёт нажать на кнопку, пока форма не заполнена.
В следующем уроке, «Вычисляемые значения и наблюдатели», вы научитесь один раз записывать значения, составленные из других значений, например итог заказа, и запускать код при каждом изменении значения, например чтобы сохранить заказ.
Но сначала немного практики: кафе «Уголок» принимает бронь столиков. В App.vue только заголовок, а форму вы напишете сами. Совет: храните сообщение о брони в отдельном рефе, чтобы оно не пропадало, когда поле имени очищается. А v-for по числу быстро делает варианты.
Задание
- 1
Напишите форму: текстовое поле
#guestдля имени, выпадающий список#peopleна 1–6 гостей (в начале выбрано 2) и кнопкуЗабронировать. Когда форма отправлена, покажите под нейСтолик забронирован. Имя: Анна, гостей: 4.— с именем без пробелов по краям и числом гостей — и очистите поле имени. - 2
Отключайте кнопку
Забронировать, пока имя пустое.