Angular 4 - 从服务中获取json数据不起作用

时间:2017-06-07 11:12:22

标签: angular

我的项目中有一个带有虚拟json数据的文件,我希望从中获取该数据,并在我的模板中创建一个列表。我在服务中设置了一个方法,我从那个json文件中获取数据。

get(): Observable<string[]> {
    return this.http.get('services/getUsers.json')
                    .map((res: Response) => console.log(res.json()))
                    .catch(this.handleError);
 }

该部分工作正常,我从方法中的console.log(res.json()获取数据。 我设置的组件如下所示:

users: any[] = [];

ngOnInit() {
    this.getAddresses();
}


getUsers() {
   this.usersService.get()
      .subscribe(
        users => this.users = users,
        error => this.errorMessage = <any>error
    );
}

但是,当我尝试在模板中显示该数据时,我什么都得不到:

<div class="row">
    <div class="col-md-6">
      <ul class="list-group posts">
          <li *ngFor="let user of users" class="list-group-item">
              {{ user.name }}
          </li>
      </ul>
    </div>
</div>

1 个答案:

答案 0 :(得分:2)

更改

.map((res: Response) => console.log(res.json()))

.map((res: Response) => res.json())

的简短版本
.map((res: Response) => { return res.json();})

您需要return函数中的map内容