错误。无法读取未定义的属性'age'

时间:2017-08-09 12:13:36

标签: api asynchronous ionic3

离子3。 我尝试在文件home.ts中使用auth-servise:

import { Component } from ‘@angular/core’;
import { NavController } from ‘ionic-angular’;
import { AuthServiceProvider } from ‘…/…/providers/auth-service/auth-
service’;
import { WelcomePage } from ‘…/…/pages/welcome/welcome’;

@Component({
  selector: ‘page-home’,
  templateUrl: ‘home.html’
})

export class HomePage {

    public userDetails : any;
    public responseData: any;
    public dataSet: any;

    userPostData = {“user_id”:"",“token”:""};

    constructor(public navCtrl: NavController, public authService: 
    AuthServiceProvider) {

       const data = JSON.parse(localStorage.getItem('userData'));
       this.userDetails = data.userData;
       console.log(this.userDetails);

       this.userPostData.user_id = this.userDetails.user_id;
       this.userPostData.token = this.userDetails.token;

       this.getData(); 

   }

   getData(){       

      this.authService.postData(this.userPostData,'bodygraph')
        .then((result)  => {
           this.responseData = result;

           if(this.responseData.bodygraphData){ 
              this.dataSet = this.responseData.bodygraphData;
              console.log(this.dataSet);                     
           }
           else{
             console.log("No access");
           } 
     }, (err) => {
       // Error log
     });

  }
}

我创建了PHP API。 我得到了数据。 但是我在文件home.html中有错误:

 {{userDetails.name}} {{dataSet.age}} -ERROR HERE!!!!

错误:

 Runtime Error
 Cannot read property ‘age’ of undefined

我认为home.html文件的打开时间早于获取数据。

Console.log screen short

请帮帮我。

1 个答案:

答案 0 :(得分:0)

  

我认为home.html文件的打开时间早于获取数据。

你是对的。您只需在视图中使用安全导航操作员(html)。

执行:

{{userDetails?.name}} {{dataSet?.age}}