Academia Vue.js 2: Aprende Vue paso a paso | Chris Dixon | Skillshare

Velocidad de reproducción


  • 0.5x
  • 1x (Normal)
  • 1.25x
  • 1.5x
  • 2x

Academia Vue.js 2: Aprende Vue paso a paso

teacher avatar Chris Dixon, Web Developer & Online Teacher

Ve esta clase y miles más

Obtenga acceso ilimitado a todas las clases
Clases enseñadas por líderes de la industria y profesionales activos
Los temas incluyen ilustración, diseño, fotografía y más

Ve esta clase y miles más

Obtenga acceso ilimitado a todas las clases
Clases enseñadas por líderes de la industria y profesionales activos
Los temas incluyen ilustración, diseño, fotografía y más

Lecciones en esta clase

102 lecciones (8h 30min)
    • 1. ¡Hola!

      2:29
    • 2. ¿Qué es Vue.js y por qué debería utilizarlo?

      2:16
    • 3. Instalación de Visual Studio

      1:51
    • 4. Sección de introducción: Fundamentos de Vue

      0:30
    • 5. Descarga tu proyecto de inicio

      2:32
    • 6. Instalación de Vue.js

      3:05
    • 7. La instancia Vue y el objeto de datos

      7:28
    • 8. Plantillas y el DOM virtual

      3:31
    • 9. Vinculación bidireccional de datos con v-model

      3:08
    • 10. Manejo de eventos y métodos

      5:46
    • 11. Procesamiento de la lista

      2:54
    • 12. Procesamiento condicional en Vue

      5:19
    • 13. Vinculación de elementos con atributos

      4:11
    • 14. Estilos de vinculación

      4:48
    • 15. Sintaxis abreviada de Vue

      2:42
    • 16. Salida de texto y HTML

      6:25
    • 17. V-if vs. v-show

      3:10
    • 18. Uso de expresiones de Javascript

      4:22
    • 19. Sección final: Fundamentos de Vue

      0:32
    • 20. Sección de introducción: Una mirada más profunda a Vue

      0:39
    • 21. Añadir una barra de progreso

      7:46
    • 22. Propiedades computarizadas

      8:57
    • 23. Observadores

      3:50
    • 24. Eventos y modificadores clave

      3:21
    • 25. Filtros

      6:08
    • 26. Más sobre el bucle: claves y números de índice

      5:27
    • 27. Uso de múltiples instancias en Vue

      6:25
    • 28. Bucle con objetos

      6:56
    • 29. Añadir nuestros enlaces y claves de navegación

      6:16
    • 30. Acceso a instancias Vue externas

      4:32
    • 31. Propiedades y métodos de instancia en Vue

      4:50
    • 32. Referenciación de elementos con ref

      4:45
    • 33. Uso de plantillas de cadenas

      7:06
    • 34. El ciclo de vida de Vue

      5:40
    • 35. Hooks del ciclo de vida de Vue en acción

      6:51
    • 36. Sección final: Una mirada más profunda a Vue

      0:39
    • 37. Sección de introducción: Herramientas de construcción y flujo de trabajo

      0:37
    • 38. Instalación de nodos y NPM

      4:08
    • 39. Proyectos de andamiaje con vue-cli

      8:06
    • 40. Explorar el diseño de nuestros proyectos y las herramientas de construcción

      9:26
    • 41. Uso del objeto de datos con plantillas de archivos individuales

      7:49
    • 42. Sección final: Herramientas de construcción y flujo de trabajo

      0:19
    • 43. Sección de introducción: Introducción a los componentes

      0:41
    • 44. ¿Qué son los componentes?

      5:07
    • 45. Registro de componentes globales

      10:57
    • 46. Registro de componentes locales

      5:26
    • 47. Creación de componentes de un archivo único

      8:37
    • 48. Añadir el componente del frente de la tarjeta

      9:07
    • 49. Emitir datos a los componentes principales

      9:21
    • 50. Componentes dinámicos

      2:49
    • 51. Creación de los componentes adicionales de la tarjeta

      5:53
    • 52. Creación del componente de entrada de texto

      9:40
    • 53. Recibir datos de la entrada de texto

      4:38
    • 54. Creación del componente de salida de texto

      3:38
    • 55. Pasar datos con accesorios

      5:37
    • 56. Mantener los componentes vivos

      2:26
    • 57. Estilos CSS de alcance

      7:40
    • 58. Validación de apoyos

      5:01
    • 59. Pasar datos de accesorios a un objeto de estilo

      3:19
    • 60. introducción a los slots

      9:38
    • 61. Alcance del slot y contenido predeterminado

      4:57
    • 62. Slots nombrados

      3:30
    • 63. Sección final: Introducción a los componentes

      0:42
    • 64. Sección de introducción: Componentes continuados y almacenamiento Firebase

      0:37
    • 65. Configuración de FireBase

      6:55
    • 66. Creación del componente ImageUpload

      6:40
    • 67. Subir imágenes a FireBase

      9:44
    • 68. Vista previa de la imagen en miniatura

      4:11
    • 69. Barra de progreso de carga y datos del archivo $emit

      8:54
    • 70. Componente de salida de imagen

      9:09
    • 71. Descargar imágenes desde FireBase

      6:15
    • 72. Botón de fijar la imagen

      7:20
    • 73. Menú de opciones de texto: tamaños de fuentes

      8:00
    • 74. Menú de opciones de texto: alineación de texto

      5:03
    • 75. Menú de opciones de texto: estilo de fuentes y peso

      9:56
    • 76. Botón de quitar la imagen

      4:21
    • 77. Pasar datos con callbacks

      6:40
    • 78. Cómo hacer imágenes arrastrables

      5:48
    • 79. Terminar el componente de CardInsideLeft

      4:50
    • 80. Terminar el componente de CardInsideRight

      2:48
    • 81. Terminar el componente de CardBack

      3:39
    • 82. Introducción al bus de eventos

      7:26
    • 83. Envío de eventos al bus de eventos

      6:51
    • 84. Recepción de eventos del bus de eventos

      13:05
    • 85. Añadir mixins

      6:51
    • 86. Sección final: Componentes continuados y almacenamiento Firebase

      0:35
    • 87. Sección de introducción: transiciones y animaciones

      0:31
    • 88. Clases de transición

      2:58
    • 89. Añadir transiciones CSS

      6:47
    • 90. Añadir animaciones CSS

      5:58
    • 91. Transiciones de componentes y modos de transición

      3:23
    • 92. Introducción a los hooks de Javascript

      2:03
    • 93. Hooks de Javascript en acción

      8:51
    • 94. Mezclar animaciones y transiciones

      4:59
    • 95. Clases de transición personalizadas

      3:14
    • 96. Transiciones iniciales de procesamiento

      3:07
    • 97. Transiciones y claves de los elementos

      4:45
    • 98. Transiciones de grupo

      5:43
    • 99. Clase V-move y nombres de transición dinámicos

      4:06
    • 100. Sección final: Transiciones y animaciones

      0:32
    • 101. Gracias

      1:06
    • 102. ¡Sígueme en Skillshare!

      0:23
  • --
  • Nivel principiante
  • Nivel intermedio
  • Nivel avanzado
  • Todos los niveles

Generado por la comunidad

El nivel se determina según la opinión de la mayoría de los estudiantes que han dejado reseñas en esta clase. La recomendación del profesor o de la profesora se muestra hasta que se recopilen al menos 5 reseñas de estudiantes.

2051

Estudiantes

2

Proyectos

Acerca de esta clase

*** UPDATE!

Vue 3 y esta clase ha reemplazado con una nueva para cubrir esta nueva versión:

https://www.skillshare.com/classes/In-Depth-Vue-3-para principiantes/1881663970

***

Llevar tus habilidades HTML, CSS y Javascript al siguiente nivel aprendiendo uno de los marcos más avanzados de Javascript disponibles hoy en día, Vue.js.

Si no sabes con vue.js, o bibliotecas de marcos de marcos de referencia en general, algunas de las preguntas que puedes hacer es lo siguiente:

¿Qué es Vue.js?

Y ¿por qué debería aprender en primer lugar?

Vue.js es un marco de marco de Javascript muy divertido y fácil de usar para crear interfaces de usuarios

El núcleo del marco es muy ligero y rápido, y puede utilizarse en proyectos de cualquier tamaño

Desde el fácil de sumergirlo en un sitio web o aplicación existente para controlar una parte de él, como la adición de nuevos componentes,

Aplicaciones de una página media o grande

Teniendo el tamaño ligero del núcleo de vue.js, sigue lleno de características que aprenderás durante este curso.

Durante este curso, construirás 2 proyectos divertidos, emocionantes y desafiantes, para aplicar todo lo que aprenderás instantáneamente.

Comenzamos con una aplicación de lista de invitados en la que los usuarios pueden agregar su nombre a una lista de invitados de evento. Es una aplicación simple, pero te guiará por todo el aspecto de vue.js como:

  • de dos maneras de conectar datos
  • Manejo de eventos
  • Plantillas y el DOM virtual
  • Lista y procesamiento condicional
  • Atribuciones y estilos
  • La instancia de Vue
  • Expresiones de javascript
  • Propiedades de la instancia: datos, computados, observadores, métodos, filtros, etc.
  • bucles de y filtros
  • Refs y otras propiedades de ejemplo y métodos
  • Vue lifecycly
  • ¡mucho más!

Luego se construirá este conocimiento, creando una aplicación de tarjeta de felicitación, donde el usuario puede crear y editar su propia tarjeta de felicitación personalizada. Pueden agregar su propio texto e imágenes para crear una tarjeta personalizada.

Este proyecto introduce más conceptos como:

  • Componentes (archivo local, global y único)
  • La CLI de Vue para proyectos de scaffolding con herramientas de construcción como Webpack y Babel
  • Instalación de nodos y NPM
  • Pasar de datos con $emit
  • Stores y recuperación de imágenes de Firebase
  • Accesorios y validación de accesorios
  • Ranuras y alcance de la ranura
  • Vincular de opciones de menú para cambiar fuentes y estilos
  • Autobús de evento
  • Mixtos
  • ¡mucho más!

Así que estás listo para aprender uno de los de los marcos más modernos y próximos de Javascript disponibles.

Acompáñame ahora y estoy ansioso por tenerte a bordo.

Conoce a tu profesor(a)

Teacher Profile Image

Chris Dixon

Web Developer & Online Teacher

Top Teacher

Hello, My name is Chris and I am a Web Developer from the UK. I am an experienced trainer leading web development bootcamps and also teaching online courses.

My main areas of interest are Vue.js, WordPress, Shopify, Javascript, eCommerce, and business. I am passionate about what I do and about teaching others. 

Whatever your reason for learning to build websites you have made an excellent career choice.

My personal motivation was to become my own boss and have more freedom and flexibility in my life. I also enjoy the technical challenge it provides and the way it constantly evolves. I built my first website back in 1999 and I have watched the web evolve into what it is today.

I try to make my courses enjoyable and try to remember what it was like wh... Ver perfil completo

Calificaciones de la clase

¿Se cumplieron las expectativas?
    ¡Superadas!
  • 0%
  • 0%
  • Un poco
  • 0%
  • No realmente
  • 0%
Archivo de reseñas

En octubre de 2018, actualizamos nuestro sistema de reseñas para mejorar la forma en que recopilamos comentarios. A continuación, se muestran las reseñas escritas antes de esa actualización.

¿Por qué unirse a Skillshare?

Toma las galardonadas clases originales de Skillshare

Cada clase tiene lecciones cortas y proyectos prácticos

Tu membresía apoya a los profesores de Skillshare

Aprende desde cualquier lugar

Toma clases sobre la marcha con la aplicación Skillshare. Transmite o descarga para verlas en el avión, el metro o donde aprendas mejor.

Transcripciones

1. ¡Hola!: Bienvenido al curso Vue.js Academy. Me emociona tenerte conmigo. Mi nombre es Chris, y soy desarrollador web y también creador de cursos online con experiencia, dando clases a miles de estudiantes satisfechos. Vue.js es uno de los marcos JavaScript más arriba y venideros disponibles en la actualidad. También es uno de los más divertidos de aprender y está repleto de características increíbles que te permiten construir ambos sitios web pequeños directamente a través de aplicaciones complejas de una sola página. Entonces, ¿por qué elegir este curso sobre otros cursos de Vue.js disponibles? Bueno, este curso toma un enfoque basado en proyectos. Veremos exactamente cómo cada concepto que aprenderás encaja de inmediato en proyectos reales. El curso es amigable para principiantes también. Empezamos por construir una aplicación de lista de invitados donde comenzaremos con lo básico. He proporcionado una plantilla de iniciación [inaudible] para el primer proyecto para que podamos sumergirnos directamente en aprender lo que Vue.js tiene para ofrecer. Durante este proyecto, te pones seguro de cómo funciona Vue, y también de los conceptos básicos como datos de enlace, métodos, propiedades de la computadora, y mucho más. También aprenderás sobre las etapas del ciclo de vida del Vue en las que podemos aprovechar. El Proyecto 2 se basa en lo que ya hemos aprendido hasta ahora. Te presentamos para construir herramientas y también mejorar nuestro flujo de trabajo mediante el uso de las últimas tecnologías como la CLI Vue, Webpack, y Bubble también. Este proyecto será una aplicación de tarjeta de felicitación donde el usuario podrá editar y crear su propia tarjeta de felicitación personalizada. par de que esto sea un proyecto divertido de construir, aprenderás tantas técnicas, como el uso de componentes y cómo pasar datos entre ellos junto con la integración de tu app con Firebase para el almacenamiento de imágenes. Además, cubriremos la adición de animaciones y transiciones a tus apps para asegurarnos de que realmente destaquen. Todo lo que aprendas se pondrá en práctica de inmediato en los proyectos para realmente darte una mejor comprensión de cómo encajan todos en aplicaciones reales. ¿ A qué esperas? Presiona el botón Regístrate ahora y aprende uno de los marcos de JavaScript más calientes disponibles hoy. 2. ¿Qué es Vue.js y por qué debería utilizarlo?: Si no estás familiarizado con las bibliotecas y frameworks de vue.js o JavaScript en general, algunas de las preguntas que puedes estar haciendo es, ¿qué es vue.js y por qué debería aprenderlo en primer lugar? Bueno, vue.js es un framework JavaScript realmente divertido y fácil de usar para construir interfaces de usuario. El núcleo del framework es muy ligero y rápido, y se puede utilizar en proyectos de cualquier ciencia desde dejarlo caer fácilmente en un sitio web o aplicación existente hasta simplemente usarlo para controlar una parte pequeña, como agregar un nuevo componente, directamente a través de aplicaciones de una sola página medianas o grandes. Teniendo en cuenta el tamaño ligero del núcleo vue.js, todavía está repleto de muchas características sobre las que aprenderás durante este curso. El núcleo también se puede extender para agregar más características, como enrutamiento frontend y administración del estado. Si ya has construido sitios web antes, ya deberías estar familiarizado con HTML, CSS y JavaScript, que son los bloques de construcción de las aplicaciones vue.js. Esto significa que puedes hacer uso de tus habilidades existentes para [inaudible] subir y aprender aún más rápido. Vue.js maneja sólo la capa de vista, lo que significa que eres libre de integrarla con cualquiera de los back-ends de bibliotecas, por lo que es realmente fácil y flexible de adoptar. Si has utilizado otros frameworks o bibliotecas como React, muchos de los conceptos básicos serán familiares, como usar un DOM virtual y construir componentes reutilizables. React también es genial de usar también, pero a mi juicio, vue.js es mucho más fácil de empezar, y también se está viendo para superar a React en ciertas pruebas de rendimiento. Estas son solo algunas de las razones por las que vue.js ha visto un enorme aumento de popularidad y también mira para convertirse en un jugador aún más grande en el futuro. Ahora, conocemos algunos de los beneficios de usar vue.js, ahora vamos a obtener la configuración del código de Visual Studio, para que podamos saltar directamente a construir nuestro primer proyecto. 3. Instalación de Visual Studio: Para este curso, necesitaremos algunas cosas para ponernos en marcha. En primer lugar, necesitamos un editor de texto. Es posible que ya tengas una preferencia o una que ya uses. Para este curso, estaré usando Visual Studio Code, que es ideal para la codificación JavaScript, y además tiene un terminal incorporado el cual necesitaremos más adelante en el curso. Puedes usar cualquier editor de texto que te guste pero aquí tienes algunas opciones populares de editor de textos, como Atom, Brackets, WebStorm, y por supuesto, Visual Studio Code. Si ya tienes uno de esos y tienes un navegador web, siéntete libre de pasar al siguiente video. De no ser así, te recomendaría que pases a code.visualstudio.com y sigas las instrucciones de descarga de tu plataforma. Una vez que hayas hecho esto, vuelve y añadiremos algunos plug-ins para ayudarles a trabajar con Vue.js. Una vez completada la instalación, voy a agregar un plug-in para agregar Vue.js a fragmentos de código y también algo de resaltado de sintaxis. Si abres tu editor de texto y haces clic en el icono de extensiones en la parte inferior de las opciones, verás que ya tengo instalado Vue 2 Spppets. Para instalar esto, puedes hacer click en la barra de búsqueda y buscar Vue 2. Lo que voy a usar es Vue 2 Smppets, que es por [inaudible], luego da click en el botón de instalar y ya estás listo para ir. Por último, también necesitarás un navegador web. Te recomendaría Chrome de Google, pero puedes usar cualquier navegador web que te guste. Esto es todo para la configuración inicial. Ahora vamos a saltar a construir nuestra primera aplicación Vue.js. 4. Sección de introducción: Fundamentos de Vue: Al igual que con todos mis cursos, me gusta no perder tiempo en ensuciarnos las manos y en realidad construir proyectos reales. Este curso no es diferente y vamos a empezar construyendo una aplicación de lista de invitados, donde el usuario pueda registrar sus intereses en un evento y tener el nombre agregado a la lista de invitados. El proyecto será relativamente sencillo, pero cubriremos todos los conceptos básicos. Tendrás que empezar a construir vue.js-ups. Adelante y empecemos. 5. Descarga tu proyecto de inicio: Adjunto este video es un proyecto de inicio que vamos a utilizar para saltar directamente a vue js. Deseo descargar el mío y colocarlo en el escritorio para un fácil acceso. Pero puedes colocar el tuyo en cualquier lugar. Tan sólo como sea conveniente para ti. Ahora ya deberías tener tu editor de texto todo configurado. Voy a abrir Visual Studio Code y luego una vez que se abra, voy a arrastrar el iniciador del proyecto hacia el editor de texto. Entonces echemos un vistazo a lo que está incluido. Si abrimos el index.html, solo son datos básicos de un HMO. En sección de cabeza solo tenemos algunas metaetiquetas básicas, el título. También tenemos algunos enlaces a bootstrap. Simplemente vamos a usar esto para algún estilo y diseño básico. El cuerpo del proyecto inicia con un div principal, cual tiene un id de app. Este va a ser el contenedor principal y vamos a echar un vistazo a esto con más detalle cuando veamos la instancia de vista. Bueno entonces, solo tienes algunas filas y contenedores básicos y alguna información sobre la lista de invitados. Si abrimos la carpeta del proyecto y luego si hacemos doble clic en index.html. Se puede ver entonces la estructura básica de lo que tenemos. Tenemos una fila la cual tiene alguna información sobre los eventos, como la fecha del evento, el título del evento y una descripción. También tenemos una entrada de texto donde el usuario puede agregar su nombre y luego presentarlo para agregarlo a la lista de invitados. Entonces por debajo de eso tenemos otra fila y luego una general por debajo de ésta, que va a ser el lugar donde se agregan todos los nombres. Por el momento dice que aún no se agregan nombres. Pero añadiremos la funcionalidad a lo largo de esta sección para que esto funcione. Encima en el app.css solo tenemos poco de estilo básico solo para que se vea un poco más bonito. El app.js está vacío por ahora. Pero este es el lugar donde vamos a añadir la funcionalidad view JS a medida que pasamos por esta sección. Esto es sólo un resumen básico de lo que se incluye con el proyecto como paquete de puesta en marcha. Esto se volverá mucho más familiar a medida que pases por este apartado. A continuación veremos cómo instalar vue js y cómo agregarlo a los proyectos de inicio y luego comenzaremos a trabajar dentro de este app.js echando un vistazo a la instancia de vista. 6. Instalación de Vue.js: En el último video, deberíamos haber descargado el iniciador del proyecto, que he colocado en mi escritorio para un fácil acceso. También debes tener un editor de texto listo para usar. En mi caso, estoy usando Visual Studio Code. En este video te vamos a mostrar algunos ejemplos de cómo podemos empezar a instalar Vue.js. Voy a ir a mi navegador web y voy a estar usando Chrome para el resto de este curso. Entonces vamos a ir a Vue.js.org, que es la página oficial de Vue.js. Si haces clic en la guía en la esquina superior derecha, y luego una vez que se carga, deberías ver un menú de navegación a la izquierda. Para empezar, tenemos que ir al menú de instalación, y él te brindará algunas opciones de cómo empezar. El primero es cómo incluir Vue.js Dentro de las etiquetas de script, por lo que podemos hacer clic ya sea en la versión de desarrollo o en la versión de producción. La versión de desarrollo tiene el modo de depuración y también las advertencias. La versión de producción no tiene estos y está minificada. Todo lo que necesitamos hacer es hacer clic en uno de estos botones y luego obtenemos la descarga, luego podemos guardar estos archivos dentro de nuestra aplicación y enlazarlos usando etiquetas de script. Esta técnica es igual que incluir cualquiera de tus scripts como j-query. Otra opción es utilizar el enlace CDN, estaremos utilizando para este proyecto. Este es un enlace donde la biblioteca Vue.js se aloja externamente. Si hacemos clic en el enlace recomendado allí, no llevaría a una versión alojada de Vue.js, y esta es la última versión. Volverá a esto sólo en unos momentos. La siguiente opción es usar NPM o el Administrador de paquetes de nodos. Estaremos usando NPM En el próximo proyecto, pero por ahora solo quiero mantener las cosas simples, nos centraremos en Vue. js y luego en lo básico. También está el VUE.CLI, que es una manera fácil de andamiar proyectos Vue.js. De nuevo, usaremos esto más adelante, pero por ahora solo voy a subir al enlace CDN y luego dar clic en el enlace, y luego necesitamos que copie este enlace URL. Entonces si volvemos a tu editor de textos y luego abrimos los proyectos. Si pasamos al index.html, cuando vaya a la sección de cabecera justo debajo del título, y luego agregamos en las etiquetas de script, y luego podemos agregar los atributos de origen y luego pegar en el enlace al Vue. js biblioteca, y luego guarde eso. Así de rápido y fácil es agregar Vue.js como enlace CDN. Con Vue.js ahora agregado a nuestra aplicación, pasaremos ahora al siguiente video donde echaremos un vistazo a agregar el VUE.Instance. 7. La instancia Vue y el objeto de datos: Ahora tenemos acceso a la biblioteca Vue.js mediante el uso de ECD y link. Ya podemos empezar a trabajar con dentro de nuestro archivo app.js. App.js se incluye en proyecto de inicio. Ya debiste haberlo descárguelo. Este archivo puedes nombrar lo que quieras. Por lo que eres libre de elegir si lo prefieres. Empezaremos por acceder al objeto de vista, y esto nos permite crear una nueva instancia de vista escribiendo New View, seguido del paréntesis y un punto y coma. Esta nueva instancia de vista va a controlar básicamente nuestra aplicación y los datos HTML que se renderizarán a la pantalla. Después necesitamos pasar en unos objetos de opciones, que contiene diversas opciones, que exploraremos a lo largo de este curso, como la vista HTML, qué elemento HTML queríamos montar. También contiene todos nuestros métodos y datos. En primer lugar, echemos un vistazo a el. Esta palabra clave te dice qué elemento HTML controlar. En nuestro caso, queremos controlar la página index.html. Entonces voy a usar el contenedor div principal circundante, que daría una AID de hasta. Por lo que podemos establecer el valor de cadena de el para que sea igual a arriba con el prefijo hash porque es AID. Esto es igual que un selector CSS. Entonces si queríamos controlar un div con una clase en lugar de un ID, simplemente reemplazaremos el hash por un punto. Ahora hemos seleccionado nuestros elementos. Queremos estar trabajando con la propiedad de datos. Esto contiene un objeto el cual almacena todos los datos que queremos utilizar dentro de esta instancia de vista. Por el momento, todos los datos dentro de nuestra aplicación son simplemente HTML simple, que Vue.js Clooney no tiene control alguno. Por ejemplo, todos los datos sobre los eventos enumerados, como las fechas del evento, el título del evento y la descripción del evento están codificados a mano. Podemos cambiar esto agregándolo al objeto de datos dentro de nuestra instancia de vista. Entonces voy a empezar a transferir esta información codificada a mano a nuestra propiedad de fecha. Entonces, empecemos por incluir fechas. Entonces selecciona la fecha a partir de ahí, sácala HTML. Entonces si pasamos a nuestra propiedad de fechas, podemos establecer un nombre para estas fechas. Por lo que quiero llamar a la mía EventDate seguido de la columna, y luego dentro de una cadena, podemos agregar la fecha dentro de ahí. Podemos entonces hacer lo mismo con el título del evento. Entonces de vuelta en la página de índice, si pones el nombre de Summer Festival, y luego dentro de nuestros datos, nuevo en nuestro app.js, y luego siguiente llamaremos a esto el EventTitle. Entonces igual que antes con nuestros días como cuerda. Entonces pegando esto entre las cotizaciones. Entonces, por último, también haremos lo mismo para la descripción del evento. Así que vaya a la página de índice, ponga la descripción del evento, y luego justo debajo del eventTitle, crearemos el nombre de datos EventDescription, y luego peguemos esto como valor. Por lo que ahora necesitamos una forma de volver a agregar estos datos a nuestro HTML. Para insertar estos datos en nuestro código, lo hacemos con una sintaxis de plantilla especial de llaves dobles. También verás esto referido como sintaxis de bigote o interpolación de texto. Es así como vinculamos nuestros datos con el DOM. Esto también significa que los datos son reactivos y se actualizarán cuando haya un cambio con los datos. Dentro de estas llaves, podemos agregar el nombre de la propiedad de fecha que acabamos de crear. Entonces empecemos con los eventDates en el lugar de donde sacamos la fecha justo antes. Entonces guardemos eso y actualicemos el navegador, y ahora podemos ver la fecha está apareciendo de nuevo en la pantalla. Por lo que esta fecha ahora está funcionando porque está dentro de las llaves dobles. Así que Vue.js sabe buscar este nombre de propiedad dentro del objeto de fecha que acabamos de crear. También se actualizará cada vez que se cambie el valor de EventDate. Entonces lo que me gustaría que hicieran ahora es hacer exactamente lo mismo para el eventTitle y también el eventDescription. Así que pausa y dale una oportunidad a eso. Si es algo con lo que no te sientes cómodo, momento, no te preocupes. Seguiré ahora agregando el EventTitle. Entonces haz lo mismo igual que antes. En lugar del título, añadiremos las llaves dobles y luego agregaremos el EventTitle. Por último, en un lugar donde ponemos el eventDescription también agregará el eventDescription ahí dentro. Entonces guarde eso y haremos una actualización final solo para comprobar que todo está funcionando bien. Entonces no se ve genial. Tenemos las fechas, el título, y también la descripción, si [inaudible] de vuelta a la página. Pero esta vez tenemos Vue.js controlando los datos. Entonces, por fin, solo quiero terminar con una última cosa. Debido a que estas propiedades de datos libres están relacionadas, voy a agruparlas dentro de su propio objeto de eventos. Esto es totalmente opcional, pero tiene sentido sobre todo si nos extendemos creando más de un evento. Por lo que de nuevo dentro de la propiedad de datos, queremos crear el objeto de eventos. Entonces voy a cortar el EventDate, el EventTitle y EventDescription, y luego asegurarme de que estos pegados dentro del nuevo objeto de evento. Ahora de nuevo en el navegador, si hacemos una actualización, vemos que los datos desaparecen. Esto se debe a que necesitamos decirle a Vue que estas propiedades y ahora dentro de un objeto llamado eventos. Por lo que sólo significa hacer un cambio más dentro de la página de índice. Entonces todo lo que necesitamos hacer es nuestros eventos frente a EventDates, mismo con EventTitle, y luego finalmente lo mismo con EventDescription. Por lo que pega guardar. Ahora si volvemos al navegador y da una actualización, deberíamos ver que todos nuestros datos están de vuelta en la pantalla. Por lo que ahora hemos creado nuestra instancia de Vue y hemos mirado cómo utilizar el objeto de datos para controlar un texto dentro de nuestra aplicación. A continuación, echaremos un vistazo a cómo Vue JS maneja las plantillas y utiliza el DOM virtual. Te veré ahí. 8. Plantillas y el DOM virtual: En el último video, miramos cómo crear una instancia de Vue y también cómo agregar datos reactivos a nuestra aplicación. ¿ Cómo gestiona Vue js los datos para hacerlos reactivos y actualizar nuestra página cuando hay un cambio? Pero echemos un vistazo a lo que pasa en segundo plano. Si vamos a las herramientas de desarrollador del navegador dentro de Chrome, podemos acceder a éstas con un clic derecho y luego seleccionar “Inspeccionar”. Si luego seleccionará el Div con la clase de bloque de tarjeta, podemos echar un vistazo al contenido y podemos ver que el título del evento, las fechas del evento, y la descripción del evento se agrega entre etiquetas P o encabezamientos. Por lo que la salida HTML es diferente a lo que hemos escrito dentro del Editor. No tenemos ninguna de la sintaxis de doble rizado y no podemos ver los nombres de nuestras propiedades de datos, como título de evento. Esto se debe a que Vue.js toma nuestro código HTML y crea una plantilla basada en él detrás de bambalinas. Estas plantillas, que se crea no se utilizan para renderizar al DOM con código HTML válido. Usar una plantilla en lugar de actualizar directamente el DOM con nuestro código también proporciona beneficios adicionales. Cuando nuestros datos, por ejemplo, se actualizan dentro de la aplicación, Vue entonces resuelve qué partes de la plantilla se cambian. Dado que Vue sabe exactamente qué parte se cambia, sólo volverá a renderizar esta parte de cambio de la plantilla. Por lo que al sólo volver a renderizar la cantidad mínima de código al DOM real. Esto tiene el efecto de hacer que nuestras aplicaciones Vue.js sean realmente rápidas ya que manipular el DOM es típicamente una de las operaciones más caras de realizar. Si no estás familiarizado con el DOM, significa Document Object Model. Se trata de una representación estructurada de un documento. En nuestro caso, siendo el documento la página web. En la mayoría de los casos simples, el DOM, que se crea, se parece a nuestro código HTML, que tenían razón y aquí vemos una típica representación visual del DOM, que es como un árbol de objetos empezando por los elementos HTML en la parte superior y después tenemos la sección de cabeza y la sección de cuerpo, y luego todos nuestros elementos anidados contenidos dentro de la sección de cabeza de la sección de cuerpo. Por lo que esto te debería parecer familiar si has tenido alguna experiencia en HTML. Debido a que la necesidad obtenida elementos DOM lleva tiempo, Vue.js también utiliza lo que se llama el DOM virtual. Estas plantillas que Vue. js crea un compilado en funciones de render DOM virtuales. El DOM virtual es como una copia del DOM real y esto permite ver detrás de bambalinas para comparar el DOM real con el DOM virtual y solo actualizaciones donde y cuando sea necesario. Entonces, no te preocupes demasiado si no entiendes del todo lo que todo esto significa por ahora. Obtenemos mucha práctica con cómo funciona Vue y cómo renderiza plantillas a medida que vas por el curso. Entonces así funciona Vue.js con plantillas y también el DOM virtual. Solo quería darte un pequeño trasfondo de lo que está pasando entre bastidores cuando estamos escribiendo nuestro código. A continuación, veremos la minería de datos bidireccional utilizando una directiva modelo V. 9. Vinculación bidireccional de datos con v-model: Hemos mirado la creación de nuestra instancia de Vue y hemos agregado los objetos de datos. Quiero establecer una nueva propiedad de datos, pero esta vez la voy a utilizar con una directiva de vista llamada v-model. Las directivas tienen un prefijo -v, y las verás mucho a lo largo de este curso. Los atributos especiales proporcionados por Vue.JS, que agregan un comportamiento reactivo especial al DOM usando v-model configura el enlace de datos bidireccional. Si no está familiarizado con el enlace de datos bidireccional, solo significa que los datos se pueden pasar en ambos sentidos. En los ejemplos que hemos mirado hasta ahora, podemos actualizar las propiedades dentro de los objetos de datos, luego pasar estos cambios al Vue. Con el enlace de datos bidireccional, todavía podemos hacer esto, pero también podemos actualizar los elementos Vue como los campos de entrada y esto luego actualiza el valor de nuestros datos. Vue.JS hace que este flujo de datos bidireccional sea realmente simple, al proporcionarnos esta directiva llamada v-model. Comencemos configurando v-model en nuestros campos de entrada de texto. Si vas a nuestra página index.html, y luego localiza nuestras entradas de texto, podemos agregar v-model y luego establecer el nombre de la propiedad de datos a la que se quiere enlazar. Entonces en nuestro caso, “NuevaMetext”. A continuación necesitamos establecer NewNameText como una propiedad en los objetos de datos. De esta forma, podemos establecer el valor inicial si queremos, y debido a que es minería de datos bidireccional también podemos actualizar el valor con el campo de entrada. Por lo tanto, en app.js fuera del objeto de eventos agregue nuestra propiedad de NewNameText: Así que voy a establecer el valor inicial de NewNameText para que sea igual a una cadena vacía. Podemos agregar un valor inicial dentro de eso si queremos. Entonces para ver el valor de NewnaMEText solo necesitamos ir a la página index.html, y luego usar la sintaxis de doble rizado para generar el NewnameText. Ahora si escribimos algo dentro del campo de entrada, vemos el valor de NewnaMetext actualizado de inmediato. Es así como podemos usar el enlace de datos bidireccional con Vue.JS. Una cosa importante a recordar es que Vue.JS no se preocupa por el Marcador de posición o el valor inicial de los campos de entrada. El dato dentro de la instancia de Vue siempre será una prioridad y se considerará correcto sobre el valor inicial de los campos de entrada. Cubriremos utilizando modelo v pesado sobre tipos de entrada y áreas de texto más adelante en el curso. Por ahora, sin embargo, sigamos adelante y echemos un vistazo a los manejadores de eventos y cómo podemos tomar los nombres agregados a este campo de entrada y empujarlos a una matriz. 10. Manejo de eventos y métodos: Ahora hemos mirado el enlace de datos bidireccional. Ahora quiero pasar a capturar el valor ingresado en los campos de entrada y luego empujarlo a una matriz. Esta matriz mantendrá todos los nombres introducidos en el campo de entrada y luego podremos enumerar todos estos nombres dentro de la sección de asistencia a continuación. Queremos ir al app.js y crear nuestra matriz vacía. Voy a agregar una nueva propiedad de datos llamada nombre de invitado e inicialmente vamos a establecer esto en una matriz vacía. Ahora esto se crea más en index.html. Ahora necesitamos crear un manejador de eventos para empujar los nombres a esta matriz. Una vez presionado el botón de enviar, en vue.js, utilizamos la V sobre Directiva para escuchar eventos DOM. Estos eventos DOM y no específicos de view.js. Podemos utilizar cualquiera de los eventos DOM normalmente disponibles para nosotros, como OnClick, keyup, keydown, y muchos, muchos más. Nuevamente, al igual que en el último video donde usamos V-model, esta directiva también tiene el prefijo v dash. A continuación localizamos nuestros elementos de forma y luego como atributo, podemos agregar nuestro V sobre Directiva. Primero agregamos V encendido, y luego después de los dos puntos agregamos el nombre del manejador de eventos que queremos activar. En nuestro caso, vamos a escuchar el evento de envío y luego agregamos el nombre del método que queremos ejecutar una vez que se haya enviado el formulario. Después del nombre de los eventos, en nuestro caso de mitos, también podemos agregar modificadores de eventos. Un modificador de eventos común es evitar los valores predeterminados. Si utilizas JavaScript para trabajar con entradas y formas de todos, es posible que ya hayas usado event dot prevent default. Esto detiene el comportamiento predeterminado, que para el botón enviar es refrescar la página. Pocos simplemente hace que esto sea realmente fácil para nosotros abordar el comportamiento a nuestros manejadores de eventos simplemente agregándolo después del nombre del manejador de eventos así como este. Evitar que el valor predeterminado evitaremos que nuestros datos se pierdan cuando se actualice la página. Esto también sobre modificadores de eventos también, que cubriremos más adelante en este curso. Por ahora hemos agregado el formulario enviado como el nombre de nuestro método, pero aún no lo hemos creado dentro de nuestra instancia de vista. Hagámoslo ahora más en la app dot js. Al igual que cuando agregamos los objetos de propiedad de datos dentro de la instancia de vista, también podemos usar la palabra clave de métodos reservados. Métodos también toma un objeto, por lo que abriremos un conjunto de llaves. Dentro de aquí podemos agregar nuestro primer método de formularios presentados. Este método se activa cada vez que se envía el formulario. formulario enviado es una función y dentro esta función podemos comenzar agregando un registro de consola, solo para comprobar esto está funcionando bien. Queremos iniciar sesión en la consola el valor del nuevo texto de nombre, cual está vinculado al campo de entrada. Esta palabra clave nos permite acceder a todas las propiedades dentro de la instancia de vista. Para acceder a la nueva propiedad de texto de nombre, utilizamos este texto de nombre nuevo de punto. Esto lo hemos visto mucho a lo largo del curso. Ahora volveremos a la aplicación y luego entraremos dentro de la consola. Podemos escribir un nombre dentro del campo de entrada, y deberíamos ver el valor que aparece dentro de la consola. Ahora sabemos que este método se está activando bien. Ahora podemos terminar nuestro método empujando el nuevo valor de nombre a la matriz de nombres de invitado. Primero eliminemos el registro de la consola, y en el lugar de esto podemos seleccionar este nombre de invitado punto, que es el nombre de nuestra matriz. Debido a que se trata de una matriz, podemos usar el método push. Entonces dentro de los corchetes, le diremos a vue.js, Lo que queremos empujar a la matriz. En nuestro caso, queremos empujar el valor de los campos de entrada, para que podamos seleccionar nuestra palabra en este, dot new name text. Entonces para terminar este método, lo último que quiero hacer es una vez que se esté agregando un nombre a la matriz, queremos simplemente borrar el campo de entrada configurando este nuevo texto de nombre de punto para volver a establecer en una cadena vacía. Para ver los valores que están dentro de la matriz, podemos usar de nuevo la interpolación de textos, o la sintaxis de llaves dobles para generar esto dentro del index.html. Si buscamos el encabezado de nivel cuatro, que tiene el texto de ningún nombre agregado aún, podemos usar la sintaxis de la llave rizada para generar la matriz de nombres de invitado. Ahora vamos a guardar eso y nos dirigimos a Chrome y refrescamos el navegador. Ahora podemos agregar nombres al campo de entrada y ahora hemos pegado enviar. Esto ahora debería ser empujado a la matriz y luego enviado a la pantalla. Tenemos los nuevos nombres ahora agregados a la matriz, lo cual es genial. Los nombres solo se están mostrando ya que están dentro de la matriz, por lo que por el momento no se ve muy bien. Pero no te preocupes, lo arreglaremos en el próximo video. Echaremos un vistazo al renderizado de listas con For loops. 11. Procesamiento de la lista: Ahora tomamos las entradas de nombre de los usuarios y lo presionamos a una matriz cuando se presiona el botón de enviar. Esto lo hicimos agregando un oyente de eventos al formulario y luego llamando a un método cuando se envía el formulario. Este método dentro de la instancia Vue es algún código JavaScript que toma el contenido del campo de entrada almacenado dentro de los nuevos textos de nombre y luego lo empuja a esta matriz GuestName. Ahora tenemos la matriz GuestName que queremos recorrer estos nombres y luego renderizarlos a la pantalla. Vue.js, al igual que JavaScript normal puede hacer esto con un bucle for. No obstante, Vue hace que crear un bucle for sea mucho más simple y más limpio que usar Vanilla JavaScript. Todo lo que necesitamos hacer es crear una directiva v-for como esta. Si pasamos a la Página Index.html y luego nos desplazamos hacia abajo hacia la Bomba. Si buscamos el div con una clase de tarjetas-éxito redondeado y name-box, vamos a agregar nuestro for loop a este div. Por lo que agregar esto for loop es tan simple como agregar atributos, igual que antes cuando usamos v-model pero esta vez usamos v-for, y luego lo que se establece es ser igual a nombre en GuestName. Por lo que este nombre de pila depende totalmente de ti, puedes nombrarlo lo que quieras. Es solo un alias para cada elemento de matriz que va a recorrer, guestName es nombre de la matriz de origen por lo que es el que acabamos crear antes y es salida el contenido de este for loop, usamos nuevamente la interpolación. Entonces ves llaves dobles y luego escribimos en nombre, que hemos usado en el bucle for. Entonces ahora podemos guardar esto, refrescar el navegador y ahora si subimos a las entradas, podemos empezar a agregar nombres y ahora los vemos salidos a la pantalla pero esta vez usando un for loop v-for también se puede agregar a los elementos sobre. No nos limitamos a admitir a un div. Se puede agregar a un span, etiquetas de párrafo o cualquier cosa que te guste. Entonces ahora vemos el contenido de la pantalla de matriz dos veces, una vez usando el bucle for y luego una del último video, donde salimos el GuestName/ con el GuestName dentro de las llaves y guardamos eso y ahora nos quedamos con el contenido del bucle for. Entonces así es lo fácil que es crear un bucle for usando Vue.js. Ahora pasemos al renderizado condicional donde veremos si else sentencias usando Vue. 12. Procesamiento condicional en Vue: Nuestra aplicación ahora viene bien. Cuando agregamos un nombre al cuadro de entrada y presionamos “Enviar”, el nombre se agrega al div asistente abajo en la parte inferior. Como se puede ver ahí todavía tenemos el texto diciendo que aún no se han agregado nombres. Ahora queremos ver el renderizado condicional. El renderizado condicional no es tan complicado como puede sonar. Simplemente renderizará algún contenido dependiendo las circunstancias al igual que un JavaScript if-else declaraciones normales, si estás familiarizado con estas. En nuestro caso, si hay nombres dentro de la matriz de nombres de invitado, queremos mostrarlos en la parte inferior. Si no hay nombres dentro de la matriz, sólo queremos mostrar el texto diciendo que aún no hay nombres añadidos. Podemos agregar esto dentro de la página index.html. Si localizamos el div con la clase de bloque de tarjetas, dentro de nuestro div con la clase de bloque de tarjetas, tenemos dos divs dentro de ahí. El primero es donde queremos recorrer los nombres y mostrarlos dentro de las etiquetas div. Voy a agregar un if-statement a este div. Vue simplemente nos hace realmente fácil hacer con la directiva v-if. Una vez que agregue esto como un atributo, entonces queremos comprobar si la longitud de la matriz de nombres de invitado es mayor que cero. Si hay algún nombre dentro de la matriz, la condición se vuelve verdadera y el div se renderiza a la pantalla. De lo contrario, si la matriz está vacía entonces la condición es falsa. renderizará el siguiente div si agregamos una declaración v-else. Entonces agreguemos v-else al siguiente div. Para que el v-else funcione debe seguir inmediatamente los elementos con la directiva v-if. Si por ejemplo, hubiera otro div entre estos dos, la declaración else no funcionaría. Dale a eso un guardado y dirígete al navegador y dale una actualización a eso. Ahora veremos la declaración diciendo que aún no se agregaron nombres. Entonces si subimos a nuestro cuadro de entrada y agregamos un nombre, vemos que se agrega el nombre y también se quita el texto. Tales están funcionando bien y quiero agregar una declaración JavaScript if normal a nuestro método de formulario enviado y la razón de esto es si pasamos a nuestro formulario, y entramos un nombre, podemos ver agregado a la lista. Entonces eso está bien. No obstante, si simplemente vamos a la entrada y presionamos enter sin nombre todavía podemos ver que algo se agrega a la matriz. Aparte de esto, if-statement se asegurará de que nombre se debe ingresar antes de que se empuje a la matriz. Podemos hacer esto más en el método de formulario enviado en el archivo app.js. Dentro del cuerpo de la función construiremos el código existente con un if-statement y la condición que queremos comprobar es si esto.NEWNAMEText. La longitud es mayor que cero o si se han ingresado algunos caracteres, entonces queremos seguir adelante y empujar esto a la matriz. Vamos a darle a eso un guardado y probarlo en el navegador. Si presionamos “Enter” en la entrada del formulario, vemos que no se ha agregado ningún nombre nuevo a la matriz. Solo agreguemos un nuevo nombre y probemos que está funcionando bien. Ahí vamos así todo el p está bien. Lo último que quiero hacer en este video es mostrar cuántos invitados están atendiendo o cuántos nombres tenemos dentro de la matriz. Puedes ver si solo miras arriba los nombres, podemos ver que hay un div con la clase de cabecera de tarjeta con una sección de asistencia. Dentro de los corchetes voy a agregar las llaves dobles, luego averiguar cuántos nombres hay dentro de la matriz de nombres de invitado. Simplemente escribimos Guestname.Length y esto dará como resultado cuántos elementos hay dentro de la matriz. Guardemos eso y agreguemos algunos nombres a la matriz y veamos si esto funciona. Genial. Entonces vemos que aumentando en uno con cada nombre. Ahora esto funciona porque la longitud de punto es solo una propiedad de JavaScript y podemos agregar cualquier JavaScript que queramos dentro de estas llaves dobles. No nos limitamos a generar datos de nuestra instancia de Vue. Por ejemplo, si agregamos 8 más 10 también dentro de las llaves dobles, y luego pasamos a nuestra app podemos ver que se agrega 10 a cada número. Por lo que solo eliminaremos eso porque no es necesaria para nuestra app. Esperemos que ahora puedas ver que ahora podemos mezclar datos Vue y también Vanilla JavaScript y veremos esto más adelante en el curso pero por ahora así funciona la renderización condicional o las declaraciones if-else en Vue JS y ya puedes realmente ver lo sencillo que es trabajar con ellos. 13. Vinculación de elementos con atributos: Ahora quiero mostrarte cómo usar una directiva llamada v-bind. Utilizamos esta directiva para trabajar con atributos HTML normales como clase, fuente, y los atributos href. Todos estos son atributos HTML normales. No obstante, no podemos pasarles datos reactivos utilizando la sintaxis de doble rizado. Entonces en el index.html, si localizamos el evento date div con la clase de card-header, intentaría agregar una nueva clase con el nombre de [inaudible] y agregamos esto usando una sintaxis de doble rizado, esto en realidad no funcionará. Entonces para demostrar esto, agreguemos una nueva propiedad sobre en app.js dentro de los objetos de datos, justo debajo de la matriz GuestName. Entonces agreguemos 'FormSubmitClass'. Usaremos esto para agregar un nuevo nombre de clase cada vez que se envíe nuestro formulario. Para cambiar el color de fondo de la tarjeta div encabezada y también el botón azul a verde, inicialmente estableceré esto para que sea una cadena vacía. Para empezar, porque solo queremos agregar una clase cuando realmente se envíe el formulario, por lo que abajo en el método de formulario enviado, justo en la parte inferior, voy a agregar el formSubmitClass, y luego podemos establecer que esto sea algo nuevo cada vez que se presente el formulario. Por lo que voy a establecer esto para que sea una cadena de texto de Enviado. Por lo que ahora cada vez que se envíe un formulario, formSubmitClass se establecerá en el valor de Enviado. Ahora abajo en el CSS, podemos configurar la SubmittedClass para que tenga un color de fondo de verde. Entonces vamos a guardar eso e ir al navegador. Para que veas si actualizamos y luego presionamos el botón Enviar, que el color de fondo no cambia. Por lo que este es un comportamiento esperado porque mencionamos antes que las tarjetas agregan datos dinámicos como atributo. Entonces para aplicar esta clase en HTML, necesitamos hacer dos cosas. En primer lugar, necesitamos eliminar las llaves de la clase y solo tener la propiedad de datos dentro de las causaciones. Después en segundo lugar, necesitamos agregar el prefijo v-bind al nombre del atributo. Entonces ahora vale la pena señalar como se puede ver dentro de este elemento sí tenemos dos atributos de clase. Una es la clase HTML estática que todavía puedes usar y también la que acabamos de agregar con v-bind, que es reactiva y bajo el control de view.js. También podemos enlazar este atributo en más de un elemento, también. Por lo tanto, vamos a agregar el formSubmitClass al SubmitButton, también. Esto también significa que si nuestros datos cambian, la actualización también se reflejará en todas partes . Entonces ahora vamos a darle una oportunidad a esto. Si guardamos eso y luego actualizamos el navegador y agregamos un nombre, podemos ver una vez que se envíe el formulario que sí obtenemos el nuevo color de fondo. Entonces así como un resumen rápido de lo que hemos hecho ahí, entramos en la página HTML y luego agregamos una clase de FormSubmitClass. Entonces dentro de nuestros objetos de datos, establecemos esta FormSubmitClass para que esté vacía originalmente. Por lo que esto significa que inicialmente no se agregan nuevos estilos. Después cambiamos su cadena vacía para ser el texto de Submitted, justo debajo dentro del método FormSubmitted. Por lo que cada vez que se presenta