#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)
);
}
}