我從食譜的API中提取數據,我已經有一個可以正常工作的食譜列表,但是現在我要求單個食譜詳細信息(1個對象 )。我的控制檯日誌下面是JSON的樣子。無論我做什麼,我都無法在前端顯示,請儘可能地幫助。單個數組JSON對象不會打印(Ionic 2)
打字稿
details: any;
loadDetails() {
if (this.details) {
return Promise.resolve(this.details);
}
return new Promise(resolve => {
this.http.get('http://api.yummly.com/v1/api/recipe/Crustless-Ham-Savory-Bake-2005439?_app_id=//////&_app_key=/////')
.map(res => res.json())
.subscribe(data => {
console.log(data);
this.details = data;
resolve(this.details);
});
});
}
HTML
<ion-content>
<ion-list>
<ion-item>
<h1>{{details.id}}</h1>
</ion-item>
</ion-list>
</ion-content>
Pagename.ts
@Component({
selector: 'page-details',
templateUrl: 'details.html',
providers: [ApiAuthentication]
})
export class DetailsPage {
public api: any;
constructor(public navCtrl: NavController, public navParams: NavParams, public apiAuthentication: ApiAuthentication) {
this.loadRecipes();
}
ionViewDidLoad() {
console.log('ionViewDidLoad DetailsPage');
}
loadRecipes(){
this.apiAuthentication.loadDetails()
.then(data => {
this.api = data;
});
}
}
我在返回的對象中沒有看到任何描述。你需要一個鍵來訪問try details.id forst來查看id是否正在打印 –
@AniruddhaDas對不起,我現在已經改變爲ID(與其他值搞亂)我得到一個錯誤**無法讀取未定義的屬性'ID' * – BA1995
@ BA1995。這是異步值的經典案例:在**'details'實際定義之前,您的模板嘗試訪問'details.id' **(因爲它是異步冷卻的結果,所以不會立即分配它)。嘗試在您的模板中使用{{details?.id}}。 – AngularChef