De esta clase resalto:
this.$el
hace referencia al elemento padre del componente.- Anteponer el símbolo
$
al nombre de una propiedad dentro del métododata
de la instancia anula toda la reactividad de esa propiedad.
Bienvenida e Introducción
Bienvenida y Presentación del proyecto: PlatziRooms
Creación y configuración inicial del proyecto utilizando VUE CLI 3
Boilerplate y Limpieza del proyecto
Render Functions y JSX
¿Que son las Render Functions y JSX?
Preparando nuestro entorno para un prototipo
Creación de un componente con createElement
Utilizando JSX para la creación de un componente
Utilizando Slots con Render Functions y JSX
Creando un Modal de Login para PlatziRooms
Creando la lógica general de nuestros modales con Vuex
Creando el contenido de nuestro modal
Componentes controlados y uso de librerías externas
Componentes Controlados y Variables Personalizadas
Construcción del componente de Recordar Contraseña
Creación de un componente Slider utilizando la librería tiny-slider
High Order Functions
¿Qué son las High Order Functions? - Crea tu primera HOF
Vuex
Obtener datos usando Vuex
Crea un getter dinámico en Vuex utilizando HOF
Creación de la vista para creación de publicaciones
Agregando datos con Vuex
Base de datos en tiempo real con Firebase
Instalación y Configuracion de Firebase Realtime Database
Obteniendo los datos desde Firebase Realtime Database
Agregando la consulta de usuarios
Almacenando nuevas publicaciones en Firebase Realtime Database
Perfeccionando el flujo de navegación de nuestra App
Autenticación con Firebase
Configuracion Inicial para trabajar con Firebase Authentication
Agregando nuevos usuarios en firebase autentication
Inicio de sesión de usuario
Cierre de sesión de usuario
Protegiendo páginas utilizando Navigation Guards
Scoped Slots
¿Qué son los Scoped Slots? Dónde utilizarlos y por qué
Integración de Scoped Slots en Platzi Rooms
Deploy
Creando y desplegando nuestra app en Heroku
Conclusiones y Despedida
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
Convierte tus certificados en títulos universitarios en USA
Antes: $249
Paga en 4 cuotas sin intereses
Termina en:
Javier Diaz Chamorro
Aportes 16
Preguntas 2
De esta clase resalto:
this.$el
hace referencia al elemento padre del componente.$
al nombre de una propiedad dentro del método data
de la instancia anula toda la reactividad de esa propiedad.Aqui el ejemplo con VueTinySlider:
<template>
<tiny-slider
:mouse-drag="options.mouseDrag"
:auto-init="options.autoInit"
:loop="options.loop"
>
<slot></slot>
</tiny-slider>
</template>
<script\>
import VueTinySlider from 'vue-tiny-slider'
export default {
name: 'Slider',
components: {
'tiny-slider': VueTinySlider
},
props: {
options: {
type: Object,
default: {
mouseDrag: false,
loop: true,
autoInit: true,
controls: true
}
}
}
}
<script\>
<style lang="scss">
@import './node_modules/tiny-slider/src/tiny-slider.scss';
</style>```
Para los que usamos npm
npm i tiny-slider
También podemos usar el componente/librería tiny-slider 2.0 for Vue con toda la implementación de la librería base ya lista para usar en nuestra aplicación con Vue.
¿Que diferencia hay entre usar la librería de forma tradicional (más rápido) a convertirla en un componente (mucho código)?,
En este enlace hay una explicación detallada de los componentes controlados.
link
tiny-slider 2.0 for Vue
por parte de la reactividad no es mejor usar $mount en vez de $el? si solo vamos a usar esa instancia para un propósito especifico
Podemos ahorrarnos la escritura de los divs con esta linea gracias a emmet
.slider-item{$}*6
Pregunta, el metodo beforeDestroy se invoca a través del hook beforeDestroy() del componente vue?
Profe que extension usa para el autocompletado de los archivos veo que es muy eficiente vscode en esa parte o solo son ideas mia?
Me encanto está clase
Bravo, bravisimo!!. Excelente clase.
Les comparto mi código de TinySlider.vue
<template>
<div class="slider-wrapper">
<slot></slot>
</div>
</template>
<script>
import { tns } from 'tiny-slider/src/tiny-slider';
import 'tiny-slider/dist/tiny-slider.css';
export default {
name: 'TinySlider',
data() {
return {
$slider: null,
};
},
mounted() {
this.init();
},
methods: {
init() {
const settings = {
container: this.$el,
mode: 'gallery',
};
this.$slider = tns(settings);
},
},
beforeDestroy() {
if (this.$slider) {
this.$slider.destroy();
}
},
};
</script>
Increíble, esto significa que puedo tomar cualquier librería ya existente y transformarla a un componente de Vue:D esto puede ser bueno pues no me obligo a buscar librerías que estén únicamente desarrolladas con Vue
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?