Creación de Interfaz con Vue.js y Framework CSS Bulma
Clase 18 de 53 • Curso Profesional de Vue.js 2
Contenido del curso
- 3

Herramientas esenciales para desarrollar con BioJS y NodeJS
06:13 - 4

Creación de una Aplicación Vue.js con CLI y Webpack Simple
12:50 - 5

Configuración y uso de Webpack en proyectos JavaScript
10:38 - 6

Configuración y uso de Babel para compatibilidad JavaScript
05:06 - 7

Configuración de eSlimt con EstándarJS y Webpack
15:34 - 8

Integración de SaaS y Bulma en Aplicaciones Vue.js
06:18 - 9

Configuración de Pag para optimizar el workflow de desarrollo HTML
04:23 - 10
Diseño de Mockups: Práctica y Colaboración en Comunidad
00:20 - 11
Creación de Vistas con Mockups y Vue.js
00:32
- 12

Expresiones en Vue: Manipulación Dinámica del DOM
03:49 - 13

Directivas de Vue: Uso y Funciones Principales
06:22 - 14

Data Binding y Directivas en Vue: bmodel y bevined
04:11 - 15

Propiedades Computadas en JavaScript: Creación y Uso Práctico
04:13 - 16

Uso de Watchers en Biomóvil para Gestión de Cambios de Propiedades
02:25 - 17

Manipulación de Eventos y Métodos en Aplicaciones Web
06:12 - 18

Creación de Interfaz con Vue.js y Framework CSS Bulma
19:03 - 19
Manipulación del DOM con Vue.js: Práctica y Ejercicios
03:00
- 23

Creación y Registro de Componentes en Vue.js
08:46 - 24

Creación de Componentes en Vue.js con Bulma para Platzi Music
09:50 - 25

Reactividad y Virtual DOM en Vue.js: Conceptos y Soluciones
06:14 - 26

Ciclo de Vida de Componentes en Vue.js: Hooks y Ejecución de Código
05:38 - 27

Comunicación entre Componentes en Vue.js: Props y Eventos
23:27 - 28

Comunicación entre Componentes en Vue: Eventos de Hijo a Padre
12:04 - 29

Uso de Slots para Inyección Dinámica de HTML en Componentes Vue
13:42 - 30

Comunicación entre Componentes Vue con Event Bus y Plugins
19:19
- 39

Gestión de Estados Centralizados con la Librería BuX
03:41 - 40

Integración de VueX y arquitectura Flux en Vue.js
17:32 - 41

Mutaciones en Vuex: Gestión y Actualización del Estado Reactivo
08:16 - 42

Uso de Getters en Vuex para Acceso Personalizado de Estado
07:35 - 43

Acciones asincrónicas en Vuex: cómo implementarlas y utilizarlas
07:55 - 44

Integración de VueX y Babel en PlatziMusic
26:37
¿Cómo aplicar conceptos de Vue.js en nuestro código?
Es hora de ver cómo los conceptos adquiridos pueden implementarse en el código. Vamos a crear una aplicación básica de búsqueda usando Vue.js y el framework CSS Bulma, que facilitará la tarea de construir interfaces elegantes y responsivas.
¿Cómo estructurar nuestro HTML base con Bulma?
Primero, mantendremos el div con el ID app para montar la aplicación. Aquí usaremos clases de Bulma para estructurar nuestro HTML. Los pasos a seguir son:
- Eliminar contenido innecesario: Borraremos el contenido del HTML excepto el
divconIDapp. - Utilizar Bulma para la base: Crearemos elementos como
section,nav, ycontainercon las clases de Bulma. - Agregar interactividad: Insertemos un
inputpara búsquedas y dos botones, utilizando la etiquetaaen vez debuttonpara un estilo uniforme.
El código HTML sería algo similar a esto:
<div id="app">
<section class="section">
<nav class="nav has-shadow">
<div class="container">
<input class="input is-large" placeholder="Buscar canciones" type="text">
<a class="button is-info is-large">BUSCAR</a>
<a class="button is-danger is-large">×</a>
</div>
</nav>
<div class="container results">
<div class="columns is-multiline">
<!-- Resultados de búsqueda -->
</div>
</div>
</section>
</div>
¿Cómo gestionar datos y eventos con Vue.js?
Veamos cómo gestionar datos dentro del ViewModel y cómo ligarlos a la interacción del usuario.
- Propiedad
searchQuery: Creamos esta propiedad en elViewModel, inicializada como un string vacío y enlazada con elinputusandov-model. - Método de
búsqueda: Imprime en consola el valor desearchQueryal hacer clic en el botónBUSCAR, usando el evento@click.
El código Vue.js se vería así:
data() {
return {
searchQuery: '',
tracks: []
};
},
methods: {
search() {
console.log(this.searchQuery);
this.tracks = mockTracks; // mockTracks son datos simulados de canciones
}
}
¿Cómo renderizar resultados de búsqueda automáticamente?
Para mostrar los resultados, utilizamos una directiva v-for y creamos una lista fija de canciones.
Ejemplo de estructura de datos simulados:
const mockTracks = [
{ name: 'Muchacha', artist: 'Luis Alberto Spinetta' },
{ name: 'Hoy', artist: 'El Pepo' },
{ name: 'I Was Made', artist: 'Kiss' }
];
Y para renderizar en el DOM:
<div v-for="track in tracks" :key="track.name" class="column">
<p>{{ track.name }} - {{ track.artist }}</p>
</div>
¿Por qué es importante la indentación y cómo afecta a Vue.js?
La indentación es clave en Vue.js debido a que la estructura del código define cómo los componentes y elementos están relacionados. Un error común es pensar que un bloque está al nivel equivocado, lo que puede romper la lógica de la aplicación.
¿Cómo incorporar propiedades computadas en Vue.js?
Las propiedades computadas nos permiten realizar cálculos basados en los datos reactivos automáticamente.
computed: {
searchMessage() {
return `Encontrados ${this.tracks.length}`;
}
}
Integraremos este conteo dinámico a la interfaz como feedback al usuario, mejorando la experiencia de uso.
Usando herramientas de desarrollo de Vue.js
Las herramientas de desarrollo de Vue permiten inspeccionar componentes en tiempo real. Esto es fundamental para verificar que las propiedades y los métodos se estén ejecutando correctamente y para depurar errores más rápidamente.
Esta base nos posiciona para dar el próximo paso, que es conectar estos conceptos con API RESTful, lo cual exploraremos a continuación. Esto impulsará tus habilidades de desarrollo con Vue.js al siguiente nivel y abrirá un mundo de nuevas posibilidades en aplicaciones web interactivas y dinámicas.