APIからユーザーの一覧を読み込んで表示しようとしていますが、ページの読み込みが完了してもリストが表示されません。コンポーネントが表示されないAPIのデータ
リストを表示するには、別のやりとりを行う必要があります(たとえば、ボタンをクリックします)。私は "モック" からユーザーをロードしていたときにview of my example
は、しかし、私は何の問題
を持っていない私のコンポーネント:
import { Component,ViewEncapsulation, OnInit} \t from '@angular/core';
import { UserService } from './services/user.service';
import { User } \t \t \t \t \t \t \t from './class/user'
import { Observable, BehaviorSubject} \t \t from "rxjs";
@Component({
selector: 'my-app',
template: `
<li *ngFor="let user of users" >{{user.username}}</li>
\t <span (click) = 'log'>log</span>
`
})
export class AppComponent {
\t users : User[]
\t constructor(private userService: UserService){ }
\t ngOnInit(){
\t \t this.userService
\t \t .getUsers()
\t \t .then((res) => {
\t \t if (res.users){
this.users = res.users;}
\t \t \t \t });
\t }
\t log(){
\t \t console.log(this.users)
\t }
私のサービス:
import { Injectable } from '@angular/core';
import { Headers, Http, Response } from '@angular/http';
import 'rxjs/add/operator/toPromise';
import 'rxjs/add/operator/map';
import { LocalStorage } from '../class/local-storage';
import { User } from '../class/user';
@Injectable()
export class UserService {
private apiUrl = 'https://localhost:4000/';
users : User[];
private token = localStorage.getItem('token');
constructor(private http : Http) {}
getUsers(){
return this.http
.get(this.apiUrl + 'users?token=' + this.token)
.toPromise()
.then(res => res.json())
}
}
エラーは何ですか? –
エラーはありません。私のリストは表示されません。私はページ上で何かをしなければなりません。例えば、ボタンをクリックすると私のリストが表示されます。 [link](http://www.hostingpics.net/viewer.php?id=129231api.gif) – KeiZ
どのような種類の応答があなたのAPIを返しますか?応答 –