Introducción al framework Vue JS.
En este tema abracaremos el truculento mundo del JavaScript
En este tema abracaremos el truculento mundo del JavaScript
Lorem ipsum dolor sit amet consectetur adipisicing elit. Nisi, repellat. Laboriosam, maxime. Dicta laudantium sapiente minus! A ab dolore enim sapiente molestiae explicabo nihil cumque quae quidem! Nemo, necessitatibus suscipit.
En este ejemplo, vamos a ver un template de Vue donde pasaremos un dato a la notación {{ }}
See the Pen Primera App en Vue by Pablo (@pablofv) on CodePen.
Los elementos del objeto data se acceden directamente mediante la notación {{ }}
Si en nuestro template queremos mostrar el resultado de una función, usaremos el objeto methods en nuestra instancia de Vue.
En el html, lo mostraríamos así: <p>{{ miFuncion() }}</p>
Esto retornaría algo que puede ser colocado en el DOM, es decir, algo que puede ser convertido a un string (nada de objetos complejos, ni valores de retorno)
Estos valores representados entre {{ }} deben estar en el objeto data o en el objeto methods de nuestra instancia de Vue.
See the Pen 1.5.- Vue Templates: Methods by Pablo (@pablofv) on CodePen.
En el ejemplo anterior hemos utilizado una función. Pero si quisieramos en esa función acceder a los elementos de data, por ejemplo el elemento "title", usaremos la notación this., quedando como this.title
See the Pen 1.6.- Métodos: Acceso a datos by Pablo (@pablofv) on CodePen.
Imaginemos que queremos almacenar y representar un dato en formato html, como por ejemplo, un enlace, o un atributo title de una imagen.
Si utilizamos los atributos HTML, como por ejemplo href o title e intentamos usar un template de vue {{ }} dentro de ellos, nos dará un error.
See the Pen 04 - Ejercicio 4 con errores by Pablo (@pablofv) on CodePen.
Dentro de los atributos HTML nunca usaremos templates de Vue.
Para eso, usaremos la propiedad v-bind: + el atributo.
Así podríamos usar v-bind:href="...." o v-bind:title="....".
Veamos un ejemplo de uso correcto del atributo v-bind.
See the Pen 05 - Corregir errores del ejercicio 4 by Pablo (@pablofv) on CodePen.
Como nota importante, la forma corta de v-bind:attributo="" sería :attributo="".
See the Pen 05.5 - Shorthand de v-bind by Pablo (@pablofv) on CodePen.
Una directiva es una insctrucción donde colocamos código. Le dice a Vue que "bindee" algo de mi "data".
v-bind toma un argumento (href, title, etc...), y éste espera un atributo que quiere "bindear".
v-bind : argumento dato,funcion,...
De este modo, podemos pasar datos dinámicamente a nuestros atributos HTML
Con la directiva v-once, el elemento a bindear sólo se renderizará una vez, independientemente de como cambie posteriormente, ya sea con métodos o funciones.
v-once es muy recomendado para tomar el valor inicial de un dato.
See the Pen 06 - RAW html by Pablo (@pablofv) on CodePen.
Por defecto, Vue no renderiza HTML, solo renderiza texto
¿Cómo meteríamos un bloque de código HTML en un template?
Para eso no utilizamos la notación {{ }}, sino la directiva v-html="nuestroDatoHTML"
See the Pen 6.54 - RAW HTML by Pablo (@pablofv) on CodePen.
Ejercicio con un poco de todo
See the Pen 06 - Apendice 1 - Ejercicio resumen resuelto by Pablo (@pablofv) on CodePen.
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eius
See the Pen 02 - Starging Vue by Pablo (@pablofv) on CodePen.
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eius
See the Pen 07 - Event Listeners by Pablo (@pablofv) on CodePen.
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eius
See the Pen 08 - Event Modifiers by Pablo (@pablofv) on CodePen.
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eius
See the Pen 09 - Keyboard Events by Pablo (@pablofv) on CodePen.
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eius
See the Pen 09 - Keyboard Events by Pablo (@pablofv) on CodePen.
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eius
See the Pen 11 - Two way binding: v-model by Pablo (@pablofv) on CodePen.
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eius
See the Pen 12.1 - Planteamiendo de methods, computed, watch by Pablo (@pablofv) on CodePen.
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eius
See the Pen 12.2 - Computed (II parte) by Pablo (@pablofv) on CodePen.
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eius
See the Pen 13.- Watch Properties by Pablo (@pablofv) on CodePen.
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eius
See the Pen 14.1 - Clases CSS dinámicas by Pablo (@pablofv) on CodePen.
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eius
See the Pen 14.2.- CSS dinámico: objetos by Pablo (@pablofv) on CodePen.
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eius
See the Pen 14.4.- CSS Dinámico - Sin CSS by Pablo (@pablofv) on CodePen.
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eius
See the Pen Ejercicio 23 - Reactive Properties by Pablo (@pablofv) on CodePen.