Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

437
Vistas
Angular: use una imagen predeterminada si la imagen no existe en el servidor

Tengo un componente que mostrará una imagen de portada. El usuario puede cargar una imagen de portada y el componente mostrará la imagen cargada por el usuario. Si el usuario no carga una imagen, quiero mostrar una imagen predeterminada.

Si no hay una imagen cargada por el usuario, quiero devolver un error y llamar al changeSource (evento), que en teoría debería vincular una nueva URL de imagen al img src. Sin embargo, no estoy definido para event.target.src y veo un espacio en blanco donde debería estar la imagen predeterminada. Funciona bien cuando se muestra la imagen personalizada.

componente.html

 <div *ngFor="let coverPhoto of coverPhotos"> <img src="{{coverPhoto}}" (error) ="changeSource($event)" /> </div>

componente.ts

 this.myService.getPhotos(ImageType.Cover, this.id).subscribe(result => { this.coverPhotos = result; }, error => { this.errors = error; this.changeSource(event); }, () => { } ); changeSource(event) { event.target.src = "https://imageurl"; }
about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

usar directamente (donde defaultImage es una variable en el archivo ts que contiene la ruta de la imagen predeterminada) -

 (error)="$event.target.src = defaultImage"

tu HTML-

 <div *ngFor="let coverPhoto of coverPhotos"> <img src="{{ coverPhoto }}" (error)="$event.target.src = defaultImage" /> </div>

Ejemplo de trabajo aquí.

Está pasando un evento desde este código en ts, que obviamente no está definido, y no necesita llamar a esta función desde aquí:

 this.myService.getPhotos(ImageType.Cover, this.id).subscribe(result => { this.coverPhotos = result; }, error => { this.errors = error; this.changeSource(event); }, () => { } );
about 4 years ago · Juan Pablo Isaza Denunciar

0

El *ngFor lo estaba descartando. Eliminar esto pareció resolver el problema. No estoy muy seguro de por qué, así que publicaré una edición cuando descubra por qué.

 <div> <img src="{{coverPhotos}}" (error)="$event.target.src = defaultImage" /> </div>
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda