There is an application:
You need to set the data in the Dropdown button from JSON. The data comes from here:
https://dog.ceo/api/breeds/list/all Almost solved the problem, but for some reason instead of data comes [object Object] .
Here is the code:
app.component.html <div class="row"> <div class="dropdown col-sm-12" > <button class="btn btn-secondary dropdown-toggle" type="button" id="dropdownMenuButton" data-toggle="dropdown" aria-haspopup="true" aria- expanded="false"> Dropdown button </button> <div class="dropdown-menu" aria-labelledby="dropdownMenuButton" > <app-dog *ngFor="let d of dogs" [dog]="d"> <a class="dropdown-item">{{ d.message }}</a> </app-dog> </div> </div> </div> app.component.ts import { Component } from '@angular/core'; import { DogsService } from './dog/dogs.service'; @Component({ selector: 'app-root', templateUrl: './app.component.html', styleUrls: ['./app.component.scss'], providers: [DogsService] }) export class AppComponent { dogs = []; constructor(private dogsService: DogsService) {} ngOnInit() { this.dogsService.getDogs().subscribe(dogs => { this.dogs = dogs }) } } dogs.services.ts
import { Http } from '@angular/http'; import { Injectable } from '@angular/core'; import { map } from 'rxjs/operators/'; @Injectable() export class DogsService { constructor(private http: Http) {} getDogs() { return this.http.get('https://dog.ceo/api/breeds/list/all') .pipe(map(response => response.json())) .pipe(map(response => response.message)) .pipe(map(response => { return response.map(d => { return { message: d.message } }) })) } } 