Vue.js Sintaxis de plantillas
Vue.js utiliza una sintaxis de plantillas basada en HTML, que permite a los desarrolladores vincular declarativamente el DOM con los datos de la instancia de Vue subyacente.
El núcleo de Vue.js es un sistema que te permite renderizar datos en el DOM de forma declarativa utilizando una sintaxis de plantillas concisa.
Combinado con el sistema reactivo, cuando el estado de la aplicación cambia, Vue puede calcular inteligentemente el costo mínimo de volver a renderizar los componentes y aplicarlo a las operaciones del DOM.
Interpolación
Texto
La forma más común de enlace de datos es la interpolación de texto utilizando {{...}} (llaves dobles):
Html
Usa la directiva v-html para generar código HTML:
Directiva v-html
Pruébalo »
Atributos
Los valores en los atributos HTML deben usar la directiva v-bind.
El siguiente ejemplo evalúa el valor de use; si es true, usa el estilo de la clase class1; de lo contrario, no usa esa clase:
Directiva v-bind
Pruébalo »
Expresiones
Vue.js proporciona soporte completo para expresiones de JavaScript.
Expresiones de JavaScript
Pruébalo »
Directivas
Las directivas son atributos especiales con el prefijo v-.
Las directivas se utilizan para aplicar ciertos comportamientos al DOM cuando cambia el valor de una expresión. Como en el siguiente ejemplo:
Ejemplo
Pruébalo »
Aquí, la directiva v-if determinará si insertar el elemento p según el valor de la expresión seen (true o false).
Parámetros
Los parámetros se indican después de la directiva con dos puntos. Por ejemplo, la directiva v-bind se usa para actualizar reactivamente los atributos HTML:
Ejemplo
Pruébalo »
Aquí href es el parámetro; le dice a la directiva v-bind que vincule el atributo href del elemento con el valor de la expresión url.
Otro ejemplo es la directiva v-on, que se usa para escuchar eventos del DOM:
<a v-on:click="doSomething">
Aquí el parámetro es el nombre del evento que se está escuchando.
Modificadores
Los modificadores se indican con un punto de ancho medio.como sufijo especial, para señalar que una directiva debe vincularse de manera especial. Por ejemplo,.preventel modificador le dice a lav-ondirectiva que invoque el evento desencadenado.event.preventDefault():
<form v-on:submit.prevent="onSubmit"></form>
Entrada del usuario
En el campo de entrada input podemos usar la directiva v-model para lograr un enlace de datos bidireccional:
Enlace de datos bidireccional
Pruébalo »
v-modelLa directiva se usa para crear un enlace de datos bidireccional en elementos de control de formulario como input, select, textarea, checkbox, radio, etc. Según el valor del formulario, actualiza automáticamente el valor del elemento vinculado.
Para los eventos de los botones podemos usar v-on para escuchar los eventos y responder a la entrada del usuario.
El siguiente ejemplo invierte la cadena después de que el usuario hace clic en el botón:
Inversión de cadenas
Pruébalo »
Filtros
Vue.js te permite definir filtros personalizados, que se utilizan para algún formato de texto común. Se indican con el "símbolo de tubería" (pipe), con el siguiente formato:
<!-- 在两个大括号中 -->
{{ message | capitalize }}
<!-- 在 v-bind 指令中 -->
<div v-bind:id="rawId | formatId"></div>
La función de filtro recibe el valor de la expresión como primer argumento.
El siguiente ejemplo convierte la primera letra de la cadena de entrada a mayúscula:
Ejemplo
Pruébalo »
Los filtros se pueden encadenar:
{{ message | filterA | filterB }}
Los filtros son funciones de JavaScript, por lo tanto pueden aceptar argumentos:
{{ message | filterA('arg1', arg2) }}
Aquí, message es el primer argumento; la cadena 'arg1' se pasará al filtro como segundo argumento, y el valor de la expresión arg2 se evaluará y luego se pasará al filtro como tercer argumento.
Abreviaturas
Abreviatura de v-bind
Vue.js proporciona abreviaturas especiales para las dos directivas más utilizadas:
<!-- 完整语法 --> <a v-bind:href="url.html"></a> <!-- 缩写 --> <a :href="url.html"></a>
Abreviatura de v-on
<!-- 完整语法 --> <a v-on:click="doSomething"></a> <!-- 缩写 --> <a @click="doSomething"></a>Otras extensiones