Introducci贸n a Angular y Fundamentos

1

Aprende Angular 17

2

Creando tu primer proyecto en Angular

3

Implementando estilos

4

Mostrando elementos

5

Property Binding en Angular

6

Event Binding: click y doble click

7

Event binding: keydown

8

Modelo de reactividad con Signals

9

Creando un Signal en Angular

Estructuras de control en Angular

10

Directivas de control

11

Uso de ngFor

12

ngFor para objetos

13

Update Tasks

14

Uso de ngIf

15

Uso de ngSwitch y ngSwitchDefault

16

Controlando un input

17

Manejo de formularios en Angular

Alistando tu aplicaci贸n para producci贸n

18

Estilos al modo Angular

19

Clases en Angular

20

Editing mode

21

Estados compuestos con computed

22

Usando effect para localStorage

23

Uso de ngbuild

24

Despliegue con Firebase Hosting

25

Nueva sintaxis en Angular

26

Directivas @For, @switch

27

Migrando a la nueva sintaxis de Angular v17

Componentes Reutilizables y Comunicaci贸n

28

Construyendo un e-commerce en Angular

29

Componentes en Angular

30

Mostrando los componentes

31

Angular DevTools

32

Uso de Inputs en Angular

33

Uso de Outputs en Angular

34

Componentes para Producto

Ciclo de vida de los componentes

35

Ciclo de vida de componentes

36

Ciclo de vida de componentes: ngOnChanges

37

Ciclo de vida de componentes: ngOnInit

38

Detectando cambios en los inputs

39

Evitando memory leaks con ngDestroy

40

Audio player con ngAfterViewInit

41

Creando la p谩gina "about us" o "con贸cenos"

Mejorando la interfaz del producto

42

Creando componente de productos

43

Creando el Header

44

Creando el carrito de compras

45

Comunicaci贸n padre e hijo

46

Calculando el total con ngOnChanges

47

El problema del prop drilling

48

Reactividad con signals en servicios

49

Entendiendo la inyecci贸n de dependencias

Integraci贸n y Datos

50

Obteniendo datos una REST API

51

Importaciones cortas en Typescript

52

Pipes en Angular

53

Construyendo tu propio pipe

54

Utilizando librer铆as de JavaScript en Angular

55

Conociendo las directivas

56

Deployando un proyecto en Vercel

Enrutamiento y Navegaci贸n

57

Ruta 404

58

Uso del RouterLink

59

Vistas anidadas

60

Uso del RouterLinkActive

61

Detalle de cada producto

62

Obteniendo datos del producto

63

Galer铆a de imagenes

64

Detalle de la galer铆a

Perfeccionando tu e-commerce

65

Mostrando categorias desde la API

66

Url Params

67

LazyLoading y Code Splitting

68

Aplicando LazyLoading

69

Prefetching

70

Usando la nueva sintaxis de Angular 17

71

Lanzando tu aplicaci贸n a producci贸n

You don't have access to this class

Keep learning! Join and start boosting your career

Aprovecha el precio especial y haz tu profesi贸n a prueba de IA

Antes: $249

Currency
$209
Suscr铆bete

Termina en:

0 D铆as
3 Hrs
58 Min
48 Seg

Event Binding: click y doble click

6/71
Resources

Contributions 17

Questions 5

Sort by:

Want to see more contributions, questions and answers from the community?

Event Binding
.
Permite controlar los eventos que suceden en estos elementos. Por ejemplo, el clic de un bot贸n, detectar cambios en un campo, el env铆o de un formulario, entre otros eventos. Para esto utiliza los par茅ntesis () para el bindeo de la propiedad del elemento.
.
Ejemplo, si tienes en tu componente:

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.scss']
})
export class AppComponent {
  enviarFormulario() {
    // ...
  }
}

Puedes ejecutar el m茅todo enviarFormulario() cuando se realiza un clic en un bot贸n de la siguiente manera:

<button (click)="enviarFormulario()" >
Mejoro muchisomo este curso, en el anterior recuerdo que me confundio mucho la parte de Event binding.

Para detectar los cambios de un input de tipo number y mostrarlo en tiempo real en nuestro html

<input type="text" (change)="changeTextInput($event)" />
<p>I'm the input content => {{ valueInput }}</p>
valueInput = '';

changeTextInput(event: Event) {
  const elementInput = event.target as HTMLInputElement;
  this.valueInput = elementInput.value;
}
**Event binding** te permite escuchar y responder las acciones del usuario, como pulsaciones de teclas, movimientos del rat贸n, clics y toques. 1. **click**: Se activa cuando se hace clic en un elemento. Por ejemplo:`<button (click)="onSave()">Guardar</button>` 2. **dblclick**: Se activa cuando se hace doble clic en un elemento. Por ejemplo:`
Haz doble clic aqu铆
` 3. **input**: Se activa cuando se introduce texto en un campo de entrada (como un `input` o `textarea`). 脷til para detectar cambios en el contenido.`<input (input)="onInput($event.target.value)" />` 4. **change**: Se activa cuando cambia el valor de un elemento de entrada (por ejemplo, un `select`).`<select (change)="onSelectionChange($event.target.value)">` ` <option value="option1">Opci贸n 1</option>` ` <option value="option2">Opci贸n 2</option>` `</select>` 5. **keydown**: Se activa cuando se presiona una tecla. Puedes especificar la tecla o el c贸digo que deseas enlazar. Por ejemplo:`<input (keydown.enter)="onKeydown($event)" />` 6. **keyup**: Similar a `keydown`, pero se activa cuando se suelta una tecla. 7. **mouseover**: Se activa cuando el puntero del rat贸n entra en un elemento. 8. **mouseout**: Similar a `mouseover`, pero se activa cuando el puntero del rat贸n sale de un elemento. 9. **mouseleave**: Se activa cuando el puntero del rat贸n sale de un elemento. Similar a `mouseout`, pero no se propaga a los elementos secundarios. `
El rat贸n se fue
` 10. **focus**: Se activa cuando un elemento obtiene el foco. 11. **blur**: Similar a `focus`, pero se activa cuando un elemento pierde el foco. Esta es la [documentaci贸n oficial de Angular](https://angular.io/guide/event-binding) para obtener m谩s detalles sobre Event Binding
Existe alguna arquitectura donde se tenga separados los eventos de las variables en la class component? Me lo pregunto porque en proyectos grandes, este file de "labs.components.ts" estaria violando el Single Reponsability principle de SOLID, o existe alguna explicacion? Gracias muy buen curso
por si a alguien le sirve el evento change no tiene la funcionalidad esperada en un input tipo text, se debe usar el evento input \<input type="text" (input)="changeHandler($event)">
Tengo una pregunta un poco boba, jeje por que dice "l贸gica de negocio" es la l贸gica de la funci贸n no?
De momento estoy disfrutando el curso :)
El Event Binding en Angular es el mecanismo que permite escuchar y responder a eventos del DOM, como clics o entradas de texto. Se utiliza par茅ntesis en el template para adjuntar un evento a un elemento, asignando una funci贸n que se ejecutar谩 cuando ocurra el evento. Por ejemplo, `<button (click)="miFuncion()">Click me</button>` ejecutar谩 `miFuncion()` al hacer clic en el bot贸n. Este enfoque facilita la interacci贸n entre la l贸gica del componente y la interfaz de usuario, promoviendo un desarrollo m谩s din谩mico.
馃捇Res煤men de la clase: ![](https://static.platzi.com/media/user_upload/clase6-1-a28933af-d21c-4995-a177-921ae0aa3112.jpg) ![](https://static.platzi.com/media/user_upload/clase6-2-87f45db9-937b-461b-a93e-1e78a7b7b2a3.jpg) ![](https://static.platzi.com/media/user_upload/clase6-3-339c4f68-ff55-4c2d-8a9e-e108cc55e6d5.jpg) ![](https://static.platzi.com/media/user_upload/clase6-4-f63f1229-5a5c-46b2-b3eb-b6b31b31c466.jpg) ![](https://static.platzi.com/media/user_upload/clase6-5-b010bce6-35eb-4a0f-b6e8-b1b230813f45.jpg) ![](https://static.platzi.com/media/user_upload/clase6-6-6a3289f5-25a8-495c-94ad-d96a2d627757.jpg) ![](https://static.platzi.com/media/user_upload/clase6-7-7952bc05-7b72-4fca-af03-fbe54faa047a.jpg) ![](https://static.platzi.com/media/user_upload/clase6-8-32dee204-7fc7-466d-9862-99e84eb48040.jpg) ![](https://static.platzi.com/media/user_upload/clase6-9-79e523f4-158f-4b83-8aef-e94b0aa9cd30.jpg) ![](https://static.platzi.com/media/user_upload/clase6-10-65853dbe-05d4-4810-bcc4-37ff0ba4846a.jpg) ![](https://static.platzi.com/media/user_upload/clase6-11-d47277b2-72d4-4c66-931c-0fffa1f81a58.jpg) ![](https://static.platzi.com/media/user_upload/clase6-12-4dc66d5b-4fab-4174-9c8a-3225790d88d0.jpg) ![](https://static.platzi.com/media/user_upload/clase6-13-2f47eec2-d4fd-4694-9469-5e62e0e7a575.jpg) ![](https://static.platzi.com/media/user_upload/clase6-14-5840f737-ade2-4c34-be57-8daa426f5b46.jpg) ![](https://static.platzi.com/media/user_upload/clase6-15-6875a2cf-1038-4914-bef1-738e79272f21.jpg) ![](https://static.platzi.com/media/user_upload/clase6-16-0031329d-4d3f-4c72-b189-da8be4aa5a5d.jpg) ![](https://static.platzi.com/media/user_upload/clase6-17-56612584-d5ca-491b-b4df-926a61aa8b42.jpg) ![](https://static.platzi.com/media/user_upload/clase6-18-5a8c242d-4f10-46bb-8dbe-b00b022f2ffc.jpg) ![](https://static.platzi.com/media/user_upload/clase6-19-e1a0f037-b1cd-43ad-ab45-85016f042e54.jpg) ![](https://static.platzi.com/media/user_upload/clase6-20-866830a7-5052-4cea-b00b-71016f8424d3.jpg) ![](https://static.platzi.com/media/user_upload/clase6-21-18949bbe-6055-42a1-a1c4-f96c6c5b985e.jpg) ![](https://static.platzi.com/media/user_upload/clase6-22-1f89858f-30c2-4ff6-8216-9228f5765a9b.jpg) ![](https://static.platzi.com/media/user_upload/clase6-23-c65d5172-4159-4b94-b856-d9618b12997e.jpg) ![](https://static.platzi.com/media/user_upload/clase6-24-1a4e7135-84b4-4a30-8442-0450acf29c93.jpg) ![](https://static.platzi.com/media/user_upload/clase6-25-377c4f08-f70b-4a86-893e-77f4157e35ea.jpg) ![](https://static.platzi.com/media/user_upload/clase6-26-cefb4e17-f850-4bc1-b505-566a2f14c780.jpg) ![](https://static.platzi.com/media/user_upload/clase6-27-76e421f7-2b2e-4b91-b4e8-1b62c0405b95.jpg) ![](https://static.platzi.com/media/user_upload/clase6-28-bc7b92bb-4143-42c1-88f3-e0838c55b234.jpg) ![](https://static.platzi.com/media/user_upload/clase6-29-e5502fd3-f54b-4db6-ab27-375ca78da66e.jpg) ![](https://static.platzi.com/media/user_upload/clase6-30-79e7d472-f124-4c0b-8cf6-a5c806a46a0d.jpg) ![](https://static.platzi.com/media/user_upload/clase6-31-09a8c563-fa34-4d09-b43a-358f6ad52318.jpg) 馃毄REPOSITORIO EN GITHUB <https://github.com/raulsr92/CursoAngular17-Platzi>
Event Binding en Angular se refiere al mecanismo que permite a los desarrolladores manejar eventos del navegador, como clicks o cambios en inputs. Se utiliza la sintaxis de par茅ntesis `()` para escuchar eventos en elementos HTML, asignando una funci贸n a ejecutar cuando el evento ocurre. Por ejemplo, en un bot贸n con `(click)="miFuncion()"`, la funci贸n `miFuncion()` se ejecutar谩 cada vez que se haga clic en el bot贸n. Este enfoque permite una interacci贸n din谩mica y reactiva en las aplicaciones web construidas con Angular.
es muy interesante que en angular no haya que mandar los metodo como funci贸n flecha. si creas un metodo de esta forma en React, sin la funci贸n flecha, se ejecutar谩 apenas el usuario entre a la p谩gina
eventos
Aqui les puedo comentar, sin ver la siguiente clase sobre Event Binding, que si quisieran observar el cambio en el input, pueden hacer lo siguiente: ```js changeName(event: Event){ const element = event.target as HTMLInputElement; this.person.name = element.value; } ```Este c贸digo lo rescato del curso anterior de Angular. Espero les sirva
![](https://static.platzi.com/media/user_upload/image-2f11d55a-58dc-4a28-a597-79095752f054.jpg) input chandler
a alguien le fallo el evento doble click? ... a mi no me funciona... me dicen is es particular a mi o tambien les pasa a ustedes
El warning de \*ngFor es por que tenemos que importar CommonModule de @angular/common y a帽adirlo a los imports de nuestro componente ```js import { Component } from '@angular/core';import { CommonModule } from '@angular/common'; @Component({ selector: 'app-labs', standalone: true, imports: \[CommonModule], templateUrl: './labs.component.html', styleUrl: './labs.component.css',}) ```