Manual de Vue 3 Actualizada
Manual de Vue 3 Actualizada
Manual de Vue 3 Actualizada
1. Lo primero que vamos hacer es instalar la librería de vue router 4 si es para vue
3 usamos la versión 4 hacia arriba npm i vue-router@4
2.
10. Por último, usamos el router-link en la etiqueta que queramos enlazar a las rutas
11.
Pinia
Pinia web oficial(opens new window)
Pinia es una biblioteca de tiendas para Vue, le permite compartir un estado entre
componentes/páginas.
Aunque Pinia es lo suficientemente bueno para reemplazar a Vuex, reemplazar a Vuex no
era su objetivo. Pero luego se volvió tan bueno que el equipo central de Vue.js decidió
convertirlo en Vuex 5.
vuex vs pinia
Instalación
npm install pinia
STATE
Creamos una carpeta llamada stores y dentro creamos un
archivo llamado user.js
stores/user.js
import { defineStore } from "pinia";
Home.vue
<template>
<h1>Home {{ userStore.userData }}</h1>
</template>
<script setup>
import { useUserStore } from "../stores/user";
const userStore = useUserStore();
</script>
Login.vue
<template>
<h1>Login</h1>
<h2>{{ pasarMayuscula }}</h2>
</template>
<script setup>
import { computed } from "vue";
import { useUserStore } from "../stores/user";
GETTER
Los captadores son solo propiedades computadas detrás de escena, por lo que no es
posible pasarles ningún parámetro. Sin embargo, puede devolver una función del getter
para aceptar cualquier argumento: más info aquí
LINK DE APOYO
Quasar
Página oficial https://quasar.dev/start/vite-plugin
1. Lo primero que vamos hacer es reconocer que el proyecto sea
creado con vite
2. Después hacemos la instalación de quasar con los siguientes
comandos
4. <template>
5. <div>
6. <h1>{{ userStore.user?.email }}</h1>
7. <div id="container">
8. <label for="">Usuario</label>
9. <q-input outlined style="border-color:
#1976D2;" v-model="user" class="q-mb-md inp" />
10. <label for="">Clave</label>
11. <q-input outlined style="color:
#1976D2;" v-model="pass" class="q-mb-md" />
12. <!-- <q-btn outline style="color:
#1976D2;" label="Iniciar" @click="addUser()"/> -->
13. <q-btn :loading="userStore.loading"
color="red" @click="login()">
14. Button
15. <template v-slot:loading>
16. <q-spinner-hourglass
color="purple" />
17. </template>
18. </q-btn>
19. </div>
20.
21. </div>
22. </template>
23.
24. <script setup>
25. import { ref } from "vue"
26. import { useUserStore } from "../store/user.js"
27. let user = ref("")
28. let pass = ref("")
29. const userStore = useUserStore()
30.
31. async function login(){
32. await userStore.login(user.value,
pass.value)
33. }
34.
35. </script>