【问题标题】:ionic 3 show data from api to htmlionic 3 显示从 api 到 html 的数据
【发布时间】:2019-07-29 20:12:36
【问题描述】:

我需要你的帮助,我从 api 获取一些数据。我需要在应用程序中显示数据(在 html 中)有人可以告诉我在 .html 中显示的情况如何吗?这是代码。在数据中有 100 个带有名称字段的数组。我只想在列表中显示名称,如列表中的 100 个名称。谢谢

import { Component } from '@angular/core';
import { NavController } from 'ionic-angular';
import { HospitalPage } from '../hospital/hospital';
import { Observable } from 'rxjs/Observable';
import { HttpClient, HttpHeaders } from '@angular/common/http';



@Component({
  selector: 'page-home',
  templateUrl: 'home.html' 
})
export class HomePage {

data: Observable<any>;
galleryType = 'pintrest';
token: string;


  constructor(public navCtrl: NavController, public httpClient: 
  HttpClient) {

    this.token = "ee66cf61762eab785b006186dbc8c980";


  }

  getDataUsingToken(token) { 
     return this.httpClient.get('url.com', 
  {headers:new HttpHeaders({
              'token': token
             }
           )
         }
       ) 
     }

ngOnInit() { 
   this.getDataUsingToken(this.token).subscribe(data=>{ 
   this.data = data;
   console.log(data); 

   },

   err => console.log(err.message)
  );
 } 

}

【问题讨论】:

  • 你能显示数据的控制台日志是什么样子的吗?
  • 是的,附上屏幕截图

标签: angular typescript ionic-framework ionic3


【解决方案1】:

我无法访问你的 API,但如果数据像你说的那样结构化,这应该可以工作

<p *ngFor="let item of data.records">{{item.name}}<p>

【讨论】:

  • 谢谢,但我已经尝试过这不起作用你可以使用 url 我在下面附上有问题的 url。它太长了,你不在代码中。
  • 太长了是什么意思?它会导致错误吗?
  • url 不适合 stackoverflow 代码块。如果你想访问 api,你可以用这个 url 改变这个“”url is too long attach below”:api.igiinsurance.com.pk:8888/insurance_takaful/insurance-api/…
【解决方案2】:

这样的东西可以为你工作

<ion-list>
        <ion-item *ngFor="let item of renderData">
            <ion-label>{{item.name}}</ion-label>
        </ion-item>
        <ion-item>
            <button ion-button color="primary" (click)="prev()"><<</button>
<button ion-button color="primary" (click)="next()">>></button>
  </ion-item>
</ion-list>

这将处理按 10 项显示数据

  getData( ) {
     this.renderData = this.data.slice(this.currentIndex,this.currentIndex+10)
  }

  next() {
    if ( (this.currentIndex +10) < this.data.length) {
      this.currentIndex +=10;
      this.getData();
    }
  }

  prev(){
  if ( (this.currentIndex -10) >=0) {
      this.currentIndex -=10;
      this.getData();
    }

  }

demo ??

【讨论】:

    【解决方案3】:

    .ts

     import { Component } from '@angular/core';
     import { IonicPage, NavController, NavParams } from 'ionic-angular';
     import { Observable } from 'rxjs/Observable';
    
     import { HttpClient, HttpHeaders } from '@angular/common/http';
    
    
    @IonicPage()
    @Component({
      selector: 'page-hospital',
      templateUrl: 'hospital.html',
    })
    export class HospitalPage {
    
    data: Observable<any>;
      token: string;
    
      constructor(public navCtrl: NavController, public navParams: NavParams, public httpClient: HttpClient) {
    
          this.token = "ee66cf61762eab785b006186dbc8c980";
    
    
      }
    
      ionViewDidLoad() {
        console.log('ionViewDidLoad HospitalPage');
      }
    
    getDataUsingToken(token) { 
             return this.httpClient.get('http://api.igiinsurance.com.pk:8888/insurance_takaful/insurance-api/get_panel_hospitals.php?offset=0&limit=100',{headers:new HttpHeaders({
                      'token': token
                     }
                   )
                 }
              ) 
          }
    
    
    list;
    
    
    ngOnInit() { 
        this.getDataUsingToken(this.token).subscribe(data=>{ 
          console.log(data); 
                this.list = data.records;
    
                console.log(data.records); 
    
    
        },
    
        err => console.log(err.message)
        );
      } 
    
    }
    

    .html

    <ion-content>
      <ion-item >
        <p *ngFor="let item of list">{{item.name}}<p>
      </ion-item>
    </ion-content>
    

    【讨论】:

    • 这就是@Ira W 所说的&lt;p *ngFor="let item of data.records"&gt;{{item.name}}&lt;p&gt; 为什么你没有将他的答案标记为已解决?? ?? –
    • 它没有显示数据我也不知道为什么它没有这样显示。
    猜你喜欢
    • 1970-01-01
    • 2019-05-24
    • 2018-09-14
    • 2018-02-13
    • 2018-03-14
    • 2018-06-17
    • 2019-11-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多