1
resposta

Não reconhece o "animal" no HTML ou description se caso eu colocar "animal$.description"

Aqui nesse caso eu alterei no HTML diferente do que está video aula, colocando o "animal$", dai ele reconhece o animal$ porem nao reconhece o "description"

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

E se caso eu deixar do jeito que está na video aula, ele nao reconhece "{{ animal.description }}"

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

import { Component, OnInit } from '@angular/core';
import { ActivatedRoute, Router } from '@angular/router';
import { Observable } from 'rxjs';
import { Animal } from '../animais';
import { AnimaisService } from '../animais.service';

@Component({
  selector: 'app-detalhe-animal',
  templateUrl: './detalhe-animal.component.html',
  styleUrls: ['./detalhe-animal.component.scss'],
})
export class DetalheAnimalComponent implements OnInit {
  animalID!: number;
  animal$!: Observable<Animal>;

  constructor(
    private animalService: AnimaisService,
    private activatedRouted: ActivatedRoute,
    private router: Router
  ) {
    debugger;
  }

  ngOnInit(): void {
    this.animalID = this.activatedRouted.snapshot.params.animalID;
    this.animal$ = this.animalService.buscarId(this.animalID);
  }
}
1 resposta

Olá, Paulo! Como vai?

Desculpa pela demora, conseguiu resolver seu problema?

Aparentemente, o Angular está tentando extrair as informações de animal$ diretamente, mas não deveria porque usamos o pipe async. Na primeira div do seu detalhe-animal.component.html, confirme que você contém o seguinte ngIf:

<div class="bg-white border" *ngIf="animal$ | async as animal">

É aqui que a variável animal é declarada, e a ausência desse código explicaria o seu segundo erro.

Espero que ajude, qualquer coisa é só avisar!