Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

442
Visualizações
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 Respostas
Responde à pergunta

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 Relatório

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda