Отображение json данных в списке в angular с использованием массива и httpClient - PullRequest
0 голосов
/ 08 мая 2020

Я использую Angular 8, чтобы получить данные JSON и отобразить их в виде списка, я не знаю, где я ошибаюсь, поскольку он не отображает никаких ошибок. И вид пуст. Если у кого глаз хороший или разбирается в логах c. Я только что запустил angular и, похоже, не нашел, что не так.

video.service.ts

private _getUrl= "/api/videos";
constructor(private _http: HttpClient) { }

getVideos(){
 return this._http.get(this._getUrl).pipe(map((response: any) => response.json()));
}

video.center. component.ts

@Component({
  selector: 'app-video-center',
  templateUrl: './video-center.component.html',
  styleUrls: ['./video-center.component.css'],
  providers: [VideoService]
})
videos = [];
constructor(private _videoService: VideoService) { }

  ngOnInit(): void {
   this._videoService.getVideos().subscribe(data => this.videos = data);     
    console.log("videos array", this.videos); // even this is not working !
  }

video.list.component. html

<ul class="nav nav-pills nav-stacked">
    <li (click)="onSelect(video)" *ngFor="let video of videos"><a>{{video.title}}</a></li>
</ul>

1 Ответ

1 голос
/ 08 мая 2020

В Angular 4.3 был представлен новый HttpClient (@ angular / common / http), в котором объектом ответа по умолчанию является json. Таким образом, вам не нужно отображать ответ.

Поэтому просто верните HTTP-ответ:


private _getUrl= "/api/videos";
constructor(private _http: HttpClient) { }

getVideos(){
 return this._http.get(this._getUrl);
}
...