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

162
Visualizações
Hacer que los datos de visualización de la plantilla se carguen

Estoy tratando de hacer que mi plantilla muestre datos del componente cuando se carga. He intentado usar la condición * ngIf establecida en el objeto que se está cargando en sí mismo.

Así como esto:

 <table> <tbody *ngIf="country"> <tr> <td>{{country.name}}</td> <td>{{country.population}}</td> <td>{{country.area}}</td> <td>{{country.language}}</td> </tr> </tbody> </table>

Sin embargo, no se muestra nada en la página. Así es como se ve mi componente:

 import { Component, OnInit } from '@angular/core'; import { Router } from '@angular/router'; import { BackendService } from 'src/app/backend.service'; import { ICountry } from '../interfaces/country'; @Component({ selector: 'app-countrydetails', templateUrl: './countrydetails.component.html', styleUrls: ['./countrydetails.component.css'] }) export class CountrydetailsComponent implements OnInit { public country: ICountry; constructor(private _backendService: BackendService, private router: Router) { } ngOnInit(): void { this.getCountry(this.router.url.replace('/','')); } getCountry(country: string): void { this._backendService.getCountry(country).subscribe(data => { this.country = data; console.log(data); }); } }

¿Qué debo hacer para que la plantilla muestre mis datos cuando el objeto ya no está indefinido?

{{país|json}}

 { "country": { "name": "Russia", "capital": "Moscow", "language": "Russian", "population": "144526636", "density": "8.4", "area": "3969100", "majorCities": [ { "name": "Moscow", "population": "12506468", "area": "2562", "rank": "1" }, { "name": "Saint Petersburg", "population": "5351935", "area": "1439", "rank": "2" }, { "name": "Novosibirsk", "population": "1473754", "area": "503", "rank": "3" } ] } }
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Debe almacenar en country un observable de su BackendService .

 public country: Observable<ICountry>; ngOnInit() { this.country = this.getCountry(...); } getCountry(country: String): Observable<ICountry> { return this._backendService.getCountry(country); }

Y luego, en su componente HTML

 <tbody *ngIf="country | async as country"> <tr> <td>{{country.name}}</td> <td>{{country.population}}</td> <td>{{country.area}}</td> <td>{{country.language}}</td> </tr> </tbody>
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