this.data.getUsers(...).subscribe不是一个函数

问题描述 投票:0回答:2

从API获取详细信息并尝试列出相同的获取错误,同时打印用户列表能够使用相同的代码进行打印。

以下是我的home.component.ts

constructor(private formBuilder: FormBuilder, private data: DataService) { }
ngOnInit() {
this.data.getUsers().subscribe(data => {
        this.users = data
        console.log(this.users);
      }
    );
}

以下是我的数据服务代码

getUsers() {

    return this.http.get('https://reqres.in/api/users');
  }

以下是我正在尝试的html循环

<ul *ngIf="users">
  <li *ngFor="let user of users.data">
    <img [src]="user.avatar">
    <p>{{ user.first_name }} {{ user.last_name }}</p>
  </li>
</ul>
node.js angular angular7
2个回答
1
投票

从您的代码Working Stackblitz重新检查这一点

component.ts

import { Component, OnInit } from '@angular/core';
import { DataService } from './data.service';

@Component({
  selector: 'my-home',
  templateUrl: './home.component.html',
  styleUrls: ['./home.component.css']
})
export class HomeComponent implements OnInit {
  users;
  constructor(private data: DataService){}
  ngOnInit() {
    this.data.getUsers().subscribe(data => {
      this.users = data ;
    })
  }
}

service.ts

import { Injectable } from '@angular/core';
import { HttpClient } from '@angular/common/http';

@Injectable()
export class DataService {

  constructor(private http: HttpClient) { }
  getUsers() {
    return this.http.get('https://reqres.in/api/users');
  }

}

component.html

<ul *ngIf="users">
  <li *ngFor="let user of users.data">
    <img [src]="user.avatar">
    <p>{{ user.first_name }} {{ user.last_name }}</p>
  </li>
</ul>

0
投票

工作......我清除了npm的缓存,它工作..

© www.soinside.com 2019 - 2024. All rights reserved.