Синтаксис шаблонов Vue.js
Vue.js использует синтаксис шаблонов на основе HTML, который позволяет разработчикам декларативно связывать DOM с данными базового экземпляра Vue.
Ядро Vue.js — это система, позволяющая декларативно отображать данные в DOM с помощью простого синтаксиса шаблонов.
В сочетании с системой реактивности, когда состояние приложения изменяется, Vue может интеллектуально вычислять минимальную стоимость повторного рендеринга компонентов и применять её к операциям DOM.
Интерполяция
Текст
Наиболее распространённой формой привязки данных является текстовая интерполяция с использованием {{...}} (двойных фигурных скобок):
Html
Используйте директиву v-html для вывода HTML-кода:
Директива v-html
Попробуйте сами »
Атрибуты
Для значений в HTML-атрибутах следует использовать директиву v-bind.
В следующем примере проверяется значение use; если оно истинно, применяется стиль class1, иначе этот класс не используется:
Директива v-bind
Попробуйте сами »
Выражения
Vue.js обеспечивает полную поддержку выражений JavaScript.
Выражения JavaScript
Попробуйте сами »
Директивы
Директивы — это специальные атрибуты с префиксом v-.
Директивы используются для применения определённого поведения к DOM, когда значение выражения изменяется. Пример:
Пример
Попробуйте сами »
Здесь директива v-if решит, вставлять ли элемент p, исходя из значения выражения seen (true или false).
Аргументы
Аргументы указываются двоеточием после директивы. Например, директива v-bind используется для реактивного обновления атрибута HTML:
Пример
Попробуйте сами »
Здесь href — это аргумент, который указывает директиве v-bind привязать атрибут href элемента к значению выражения url.
Другой пример — директива v-on, которая используется для прослушивания событий DOM:
<a v-on:click="doSomething">
Здесь аргументом является имя прослушиваемого события.
Модификаторы
Модификаторы обозначаются полуширинной точкой.специальными суффиксами, которые используются, чтобы указать, что директиву следует привязать особым образом. Например,.preventМодификатор сообщаетv-onдирективе вызывать при срабатывании событияevent.preventDefault():
<form v-on:submit.prevent="onSubmit"></form>
Пользовательский ввод
В поле ввода мы можем использовать директиву v-model для реализации двусторонней привязки данных:
Двусторонняя привязка данных
Попробуйте сами »
v-modelДиректива используется для создания двусторонней привязки данных на элементах управления формами, таких как input, select, textarea, checkbox, radio и т. д., и автоматически обновляет значение привязанного элемента на основе значения в форме.
Для событий кнопок мы можем использовать v-on для прослушивания событий и реагирования на ввод пользователя.
Следующий пример переворачивает строку после того, как пользователь нажимает кнопку:
Обращение строки
Попробуйте сами »
Фильтры
Vue.js позволяет определять пользовательские фильтры, которые используются для некоторого распространённого форматирования текста. Обозначается «символом вертикальной черты», формат следующий:
<!-- 在两个大括号中 -->
{{ message | capitalize }}
<!-- 在 v-bind 指令中 -->
<div v-bind:id="rawId | formatId"></div>
Функция фильтра принимает значение выражения в качестве первого аргумента.
В следующем примере первая буква входной строки преобразуется в верхний регистр:
Пример
Попробуйте сами »
Фильтры можно объединять в цепочки:
{{ message | filterA | filterB }}
Фильтры — это функции JavaScript, поэтому они могут принимать аргументы:
{{ message | filterA('arg1', arg2) }}
Здесь message — первый аргумент, строка 'arg1' будет передана фильтру в качестве второго аргумента, а значение выражения arg2 будет вычислено и затем передано фильтру в качестве третьего аргумента.
Сокращения
Сокращение v-bind
Vue.js предоставляет специальные сокращения для двух наиболее часто используемых директив:
<!-- 完整语法 --> <a v-bind:href="url.html"></a> <!-- 缩写 --> <a :href="url.html"></a>
Сокращение v-on
<!-- 完整语法 --> <a v-on:click="doSomething"></a> <!-- 缩写 --> <a @click="doSomething"></a>Другие расширения