Свойство ошибки Ionic 3 не существует для объекта типа

#angular #ionic-framework

#angular #ionic-framework

Вопрос:

когда я запускаю приложение, оно показывает мне, что ошибка свойства 'records' не существует для типа 'Object' . я пытаюсь добавить записи: Observable; но это не работает, может кто-нибудь сказать мне, как я могу это решить. Спасибо

прикрепите .ts и .html файл.

 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>;
records: Observable<any>;
 galleryType = 'regular';
 list: any;

  token: string;


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

    this.token = "token here ";


  }

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

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

    },

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

html-файл:

  <ion-item *ngFor="let d of list">
   <div style="font-size: 16px;">{{d.name}}</div>
   <ion-icon name="pin" color="primary"></ion-icon> <font style="font-size: 
      14px;">{{d.city}}</font>
   <ion-icon ios="ios-arrow-forward" md="md-arrow-forward" item-right 
  color="primary" class="pin"></ion-icon>

</ion-item>
  

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

1. можете ли вы предоставить общий доступ к коду шаблона (html)? 👋

2. отредактируйте вопрос с прикрепленным .html .

3. Можете ли вы попробовать разобрать его в JSON и поделиться объектом?

4. я добавляю <any> в hhtpclient.get вот так this.HttpClient.get<any> и это работает, не знаю почему, но после этого ошибка не отображается.

5. пожалуйста, попробуйте ionViewWillEnter вместо ngOnInit

Ответ №1:

Попробуйте:

 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>;
records: Observable<any>;
 galleryType = 'regular';
 list: any;

  token: string;


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

    this.token = "token here ";
    this.gettingData(this.token);


  }

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

gettingData(token) { 
    this.getDataUsingToken(token).subscribe(data=>{ 
      console.log(data); 
      this.list = data.records;

    },

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