не может отображать данные из RestAPI

#html #angular #typescript

#HTML #угловой #typescript

Вопрос:

Я пытался отобразить данные ответа из Rest Get Api, но данные не отображаются, а также ошибки нет.

Пожалуйста, помогите с этим.

мой html-код

 <div>
  <app-my-page *ngFor="let c of data">{{c}}</app-my-page>
</div>
  

мой код component.ts

 import {
  Component,
  OnInit,
  ViewChild
} from '@angular/core';
import {
  ChartDataSets,
  ChartOptions
} from 'chart.js';
import {
  Color,
  Label
} from 'ng2-charts';
import {
  DataService
} from '../data.service';
import {
  User
} from '../User.module';


@Component({
  selector: 'app-my-page',
  templateUrl: './my-page.component.html',
  styleUrls: ['./my-page.component.css']
})
export class MyPageComponent implements OnInit {
  constructor(private dataService: DataService) {}

  ngOnInit() {
    console.log("here");
    return this.dataService.getUsers()
      .subscribe(data => this.Users$ = data);
  }
}
  

мой user.module.ts

 export class User {
  id: string;
  name: string;
}
  

мой код app.module.ts

 import {
  HttpClientModule
} from '@angular/common/http';
import {
  DataService
} from './data.service';

imports: [HttpClientModule], **
  my dataservice.ts code **

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

@Injectable({
  providedIn: 'root'
})
export class DataService {
  apiurl = 'http://localhost:8080/test/test';

  constructor(private _http: HttpClient) {}

  getUsers() {

    return this._http.get < User[] > (this.apiurl);
  }
}
  

отредактировано: в консоли браузера нет ошибок, а в rest api есть данные введите описание изображения здесь
введите описание изображения здесь

Комментарии:

1. В консоли должна быть какая-то ошибка? Если в вашей базе данных нет данных

2. @HenryLy Спасибо, что прочитали мой пост. Я отредактировал свой вопрос, показывающий, что ошибок нет, и в rest api есть данные. Не могли бы вы помочь мне решить эту проблему?

3. в data классе компонента нет переменной

Ответ №1:

попробуйте это. это должно сработать.

 export class MyPageComponent implements OnInit {
          data: any;
          constructor(private dataService: DataService) {}
        
          ngOnInit() {
            console.log("here");
            this.getUsersDetails();
          }
    
          getUsersDetails(){
              this.dataService.getUsers()
              .subscribe(result=> { 
                  this.data = result
              }, error => {
                  console.log(error)
              });
          }
        }
  

Комментарии:

1. я пробовал ваш код, но он показывает несколько страниц в моем браузере

Ответ №2:

в вашем классе компонентов нет переменной data. выполните следующий псевдокод

 export class MyPageComponent implements OnInit {

  data: User[]; // this is missing in your class

  constructor(private dataService: DataService) {}

  ngOnInit() {
    console.log("here");
    return this.dataService.getUsers()
      .subscribe(users => {
        this.data = users; // set the value of data like this
    });

  }
}
  

и все готово