<h1>{{title}}</h1>
<ul>
<li *ngFor="let breed of data.message | keyvalue">
<a [routerLink]="['/picsofbreed']" [queryParams]="{breed: breed.key}" target="_blank">{{breed.key}}</a>
<ul *ngIf="breed.value.length > 0">
<!-- trying to only show list if breed.value is not empty-->
<li>{{breed.value}}</li>
<!-- <li *ngFor="let sub of breed.value">{{sub}}</li> trying to iterate breed.value-->
</ul>
</li>
</ul>
<app-gallery></app-gallery>
I'm trying to iterate through dog sub breeds but only if the length is > 0. https://dog.ceo/dog-api/documentation/ click here for json body.
I am getting length not a property of unknown. Each breed has an empty array if there are no sub breed.
Component
import { Component, OnInit } from '@angular/core';
import { DogbreedsService } from './dogbreeds.service';
import { Router } from '@angular/router';
@Component({
selector: 'app-dogbreedlist',
templateUrl: './dogbreedlist.component.html',
styleUrls: ['./dogbreedlist.component.css']
})
export class DogbreedlistComponent implements OnInit {
data: any;
title:string = 'Dog Breeds and Subbreeds';
constructor(private route: Router, private breedData: DogbreedsService){}
ngOnInit()
{
this.breedData.getBreeds().subscribe((result) => {
this.data = result
})
}
}