Lo que más me gustó del vídeo fue que me sentí muy cómodo y lo entendí en un 100% lo que me hace entender que mi nivel en angular ya no es básico, ya tengo conocimiento sólidos de este framework 👍🏾👍🏾👍🏾
Felicidades Fernando. Te conoci a traves de un amigo que me recomendo tu curso Legacy de Angular hacer unos anios y desde entonces te sigo. Siempre explicas de manera impecable y haces ver todo facil. Gracias.
Me ha gustado mucho este ejercicio. Realmente me gustan todos los ejercicios que haces tanto en youtube como en los cursos que tienes y que recomiendo a todo el que quiera aprender angular, react, node, etc. Gracias.
Tocayo, Saludos desde Guatemala, actualmente estoy trabajando en Vuejs, pero trabajando un proyecto en Angular y estoy aprendiendo ... Actualmente he visto tus vídeos que tienes del tema y felicidades , de verdad explicas 100% entendible, en pocas horas he aprendido muchísimo, gracias!!!!
Hola, aquí nuevamente, gracias por el video de paginación y filtrado, terminé el proyecto razonablemente bien para ser un novato pero me quedó una espina con el logueado, usé coquis para control de la sesión, honestamente me pareció muy pirata y poco profesional, vi varios videos de control de sessión de usuario del lado del servidor que supuestamente son más seguras pero no me atreví a implementarlas por razones de tiempo de entrega y peor aún, de conocimiento, hice un logueado con Firebase y Gmail que funcionó pero necesitaba datos de strapi y no logre integrarlos así que deseché Firebase. No soy programador ni nada parecido, soy electricista jubilado y me maravilla RUclips y lo que se puede aprender; cuando tengas chance, haz un video de logueado del lado del servidor, Saludos y que estés bien. Otro, Buen dato el del if antes del hook.
Agradecido con el tutorial muy bueno la verdad y útil que es lo más importante. Me gusto que publicara el mismo ejercicio tanto en Angular como en React. De mi parte emocionado y ansioso por nuevos tutoriales así con la misma dinámica.
si mas videos de este tipo siempre son bienvenidos!!! tenia rato que no lo veía moverle a angular....... la serie de react con typescript tendrá alguno otro video??
Aplicas el filtro al objeto que crea el listado en el ng for, o bien creas un pipe de angular y lo aplicas al arreglo del ng for. Esto lo explico y hago en mi curso de angular de cero a experto
Tremendo Fernando, excelente explicación y una forma de hacer paginación que no había visto antes usando los pipes. Muchisimas gracias! Mi API es con Laravel y estoy usando su metodo pagination para devolver los datos. No sé bien cómo trabajarlo desde Angular. ¿Crees que conviene seguir este ejemplo tuyo o probar alguna otra forma?
Hola, buenas tardes, muchas gracias por este video ha sido de mucha ayuda. Tengo una duda sobre el tema del buscador, se podria hacer para que buscara por dos parametros?, por ejemplo, si quiero buscar un empleado, que al buscar no solo recogiera el nombre, si no también el apellido. Gracias.
@@fernando_her85 Vale, perfecto. Se debería hacer en esta línea, se encuentra el el archivo filtro.pipe.ts? const filterEmpleados = empleados.filter(empleados => empleados.name.includes(buscar)); . Estuve intentado agregarlo aquí pero me daba errores, no se si debo crear otra constante filtrando por el otro campo por el que quiero buscar. Gracias de nuevo.
Hola Fernando, excelente video me ayudo mucho, gracias. Tengo una pregunta espero puedas ayudarme, ¿Sabes cual seria la cantidad máxima de datos que puedo cargar en el navegador?
Hola Fernando… excelente aporte específicamente estoy usando un pipe en mi proyecto pero quería ver si me pudieras ayudar a cómo implementar el *ngIf para poner un mensaje al final de botón deshabilitado… ya intente varias opciones pero me deshabilitado por completo el botón… saludos! Espero me puedas ayudar, Gracias!
Hola Fernando! Si te funciona mi solución hice lo siguiente, al primer boton [disabled]="page == 0" y al segundo [disabled]="(pokemons | filtro:page:search).length < 5" que el 5 vendria a ser el pageSize del mismo paginado. Saludos!
Hola Fernando, ¿ hay alguna forma de hacer el Filter en todo el Array y no solo en el nombre? (es decir, buscar por nombre o por id o por cualquier otra propiedad del elemento) Muchas gracias, excelentes los contenidos !!
al pipe le puede agregar otro parámetro donde indiques por cual atributo quieres filtrar y se lo pasas así: pokemons.filter( poke => poke[atribute].includes(search)); Así filtras por el que quieras
@@eduardofuentes3526 si la API ya los regresa paginados sería mejor usar esa paginación para que sea procesado en el backend y no el front, pero podrías optimizarlo en el front con tanStack Query
Yo apenas hice algo igual para un examen pero si me pedían utilizar el paginador de la API por lo que si el buscador quedo medio feo porque se tenía que hacer la petición con el nombre exacto, ahora que veo como lo hiciste tú lo mío quedo un poco más difícil de leer al momento de crear mi arreglo de los pokemones con sus detalles pero bueno, yo necesitaba más características de la API obtenerPokemonesConDetalles(hasta: number) { return this.http .get(`${URL_API_POKEMONES}/pokemon?offset=${hasta}&limit=20`) .pipe(map(pokemons => { this.pokemones = pokemons['results']; this.pokemones.forEach(pokemonBD => { pokemonBD.id = Number(pokemonBD.url.split('/')[pokemonBD.url.split('/').length - 2]); this.http.get(`${URL_API_POKEMONES}/pokemon/${pokemonBD.id}`) .subscribe((detalle: Detalle_Pokemon) => { this.pokemones.filter(pokemon => { if(pokemon.id === Number(detalle.id)) { pokemon.detalles = detalle; } }); }); }); return this.pokemones; })); } pokedex-6538c.web.app/catalogo
Lo que más me gustó del vídeo fue que me sentí muy cómodo y lo entendí en un 100% lo que me hace entender que mi nivel en angular ya no es básico, ya tengo conocimiento sólidos de este framework 👍🏾👍🏾👍🏾
Felicidades Fernando. Te conoci a traves de un amigo que me recomendo tu curso Legacy de Angular hacer unos anios y desde entonces te sigo. Siempre explicas de manera impecable y haces ver todo facil. Gracias.
Muchas gracias me sirvio para hacer un filtro de usuarios por mail y nombre desde una api en java. Sos crack. Ya me suscribí.
Me ha gustado mucho este ejercicio. Realmente me gustan todos los ejercicios que haces tanto en youtube como en los cursos que tienes y que recomiendo a todo el que quiera aprender angular, react, node, etc. Gracias.
Excelente tutorial, estaba buscando esta información y estuvo muy bien explicada, enormemente agradecido.
Wow Fernando, es justamente lo que he buscado, 100%comprensible!. Muchas gracias!!
Muy buena explicación, cada vez me atrae más Angular
Gracias por tu aporte, una buena explicación. Eres un master1
Muchas gracias Fernando, gracias a tus cursos de udemy y los videos de youtube he aprendido un montón
!!
muchas gracias, que buena forma de explicar todo sobre angular
Excelente video me ayudo muchos, muchas gracias por tu aportes.
Tocayo, Saludos desde Guatemala, actualmente estoy trabajando en Vuejs, pero trabajando un proyecto en Angular y estoy aprendiendo ... Actualmente he visto tus vídeos que tienes del tema y felicidades , de verdad explicas 100% entendible, en pocas horas he aprendido muchísimo, gracias!!!!
He aprendido muchas cosas en este video, las cuales no sabía la razón de ser. Como el Map
Excelente!!! Es el primer video que veo y me gusta mucho, tienes una técnica muy buena para explicar y desarrolla la información
Está padre esto de los mini proyectos. Felicidades Fernando y muchas gracias
Muchas gracias! excelente explicación!
excelente video, me ayudo bastante, muchas gracias
Gracias profesor, es un crack 👍
EXECELENTEEEE!! Nunca dejes de crearr 🙏🙏
Ufff excelente :) aplicaré esto a mi proyecto personal hice un pokédex basado en el apirest que hicimos con login y registro esto está de 100%
Excelentes técnicas, muchas gracias muy útil, adelante más videos como este amigo, saludos.
Claro que sí queremos seguir viendo vídeos así. Gracias!
Hola, aquí nuevamente, gracias por el video de paginación y filtrado, terminé el proyecto razonablemente bien para ser un novato pero me quedó una espina con el logueado, usé coquis para control de la sesión, honestamente me pareció muy pirata y poco profesional, vi varios videos de control de sessión de usuario del lado del servidor que supuestamente son más seguras pero no me atreví a implementarlas por razones de tiempo de entrega y peor aún, de conocimiento, hice un logueado con Firebase y Gmail que funcionó pero necesitaba datos de strapi y no logre integrarlos así que deseché Firebase. No soy programador ni nada parecido, soy electricista jubilado y me maravilla RUclips y lo que se puede aprender; cuando tengas chance, haz un video de logueado del lado del servidor, Saludos y que estés bien. Otro, Buen dato el del if antes del hook.
muy buen video, ya me hice todos los cursos de angular y los próximos que hagas :D
Tio Fer, Un video sobre metodos de arreglos, Gracias 😘
¡Gracias Profe Fer! Aplicaré esto en un actual proyecto.
Agradecido con el tutorial muy bueno la verdad y útil que es lo más importante. Me gusto que publicara el mismo ejercicio tanto en Angular como en React. De mi parte emocionado y ansioso por nuevos tutoriales así con la misma dinámica.
Excelente explicación... siempre es bueno saber que pequeños cambios va realizando en su forma de usar VScode.
Genial como siempre muy fácil de entender
si mas videos de este tipo siempre son bienvenidos!!! tenia rato que no lo veía moverle a angular....... la serie de react con typescript tendrá alguno otro video??
Ótimo video. Parabéns!
Genial... Muy buena clase.
todo excelente, buena explicación
Saludos y buen contenido Fernando
Excelente video. Tengo una pregunta
Si quisiera buscar por mas de un campo ¿Cómo tendría que hacer?
Aplicas el filtro al objeto que crea el listado en el ng for, o bien creas un pipe de angular y lo aplicas al arreglo del ng for.
Esto lo explico y hago en mi curso de angular de cero a experto
Tremendo Fernando, excelente explicación y una forma de hacer paginación que no había visto antes usando los pipes. Muchisimas gracias! Mi API es con Laravel y estoy usando su metodo pagination para devolver los datos. No sé bien cómo trabajarlo desde Angular. ¿Crees que conviene seguir este ejemplo tuyo o probar alguna otra forma?
ufff, contenido de calidad
Buenísimo 👏👏👏
Saludos profe, tiene algún video hecho sobre cómo generar un web component o widget?
Excelente video, muy bien explicado.
Me quedé así :O
Hola, buenas tardes, muchas gracias por este video ha sido de mucha ayuda. Tengo una duda sobre el tema del buscador, se podria hacer para que buscara por dos parametros?, por ejemplo, si quiero buscar un empleado, que al buscar no solo recogiera el nombre, si no también el apellido. Gracias.
Perfectamente se puede hacer, manda todo lo que necesitas al pipe, y el pipe es quien aplica el filtro basado en la lógica que quieras
@@fernando_her85 Vale, perfecto. Se debería hacer en esta línea, se encuentra el el archivo filtro.pipe.ts? const filterEmpleados = empleados.filter(empleados => empleados.name.includes(buscar)); . Estuve intentado agregarlo aquí pero me daba errores, no se si debo crear otra constante filtrando por el otro campo por el que quiero buscar. Gracias de nuevo.
Hola Fernando, excelente video me ayudo mucho, gracias. Tengo una pregunta espero puedas ayudarme, ¿Sabes cual seria la cantidad máxima de datos que puedo cargar en el navegador?
Hola Fernando… excelente aporte específicamente estoy usando un pipe en mi proyecto pero quería ver si me pudieras ayudar a cómo implementar el *ngIf para poner un mensaje al final de botón deshabilitado… ya intente varias opciones pero me deshabilitado por completo el botón… saludos! Espero me puedas ayudar, Gracias!
Hola Fernando! Si te funciona mi solución hice lo siguiente, al primer boton [disabled]="page == 0" y al segundo [disabled]="(pokemons | filtro:page:search).length < 5" que el 5 vendria a ser el pageSize del mismo paginado. Saludos!
una pregunta. La paginacion de angular puede controlar el volumen grande registros que viene de un backend y evitar que el sistema se colpase?.
Hola Fernando, ¿ hay alguna forma de hacer el Filter en todo el Array y no solo en el nombre? (es decir, buscar por nombre o por id o por cualquier otra propiedad del elemento)
Muchas gracias, excelentes los contenidos !!
al pipe le puede agregar otro parámetro donde indiques por cual atributo quieres filtrar y se lo pasas así:
pokemons.filter( poke => poke[atribute].includes(search));
Así filtras por el que quieras
Buenas, me gustaría mostrar en la mas atributos en la tabla pero van en el url de results, saben como acceder a ellos?
Excelente!
excelente
muy interesante
Fernando, esa búsqueda permitiría coincidir con términos de búsqueda qué incluyan acentos?
No, eso lo debes de controlar tu, porque JavaScript es case sensitive
Es factible usar este metodo con apis que devuleven listados paginados? Gran video por cierto muchisimas gracias :)
@@eduardofuentes3526 si la API ya los regresa paginados sería mejor usar esa paginación para que sea procesado en el backend y no el front, pero podrías optimizarlo en el front con tanStack Query
@@fernando_her85 Muchas Gracias Fernando eres un grande 😃
Muy pro
Alguien sabe como sacar un texto que diga que no hay mas paginas cuando ya has llegado a la ultima, como menciona Fernando al final?. Gracias.
Cuando el resultado del filtro es un arreglo vacío, ahí lo puedes mostrar con un ngif
@@fernando_her85 Hecho, muchas gracias.
@@fernando_her85 eres un dios
Buenas...me interesa este proyecto Pokémon..... estaría bueno hacer una constitución
Yo apenas hice algo igual para un examen pero si me pedían utilizar el paginador de la API por lo que si el buscador quedo medio feo porque se tenía que hacer la petición con el nombre exacto, ahora que veo como lo hiciste tú lo mío quedo un poco más difícil de leer al momento de crear mi arreglo de los pokemones con sus detalles pero bueno, yo necesitaba más características de la API
obtenerPokemonesConDetalles(hasta: number) {
return this.http
.get(`${URL_API_POKEMONES}/pokemon?offset=${hasta}&limit=20`)
.pipe(map(pokemons => {
this.pokemones = pokemons['results'];
this.pokemones.forEach(pokemonBD => {
pokemonBD.id = Number(pokemonBD.url.split('/')[pokemonBD.url.split('/').length - 2]);
this.http.get(`${URL_API_POKEMONES}/pokemon/${pokemonBD.id}`)
.subscribe((detalle: Detalle_Pokemon) => {
this.pokemones.filter(pokemon => {
if(pokemon.id === Number(detalle.id)) {
pokemon.detalles = detalle;
}
});
});
});
return this.pokemones;
}));
}
pokedex-6538c.web.app/catalogo
muchas gracias Fernando me ayudo bastante, explicas muy bien
Este ejemplo en que curso de Udemy se encuentra ?
En ninguno. Es contenido propio para RUclips
Excelente