2017-07-26 127 views
1

我试图显示从API获取的数据列表。 页面加载时说错误数组未定义。但控制台打印数组。离子视图不会渲染ng-repeat从API获取的数据

这是我到目前为止所做的。

update.html

<ion-item ng-repeat="e in errorList"> 
     <ion-label>{{e.name}}</ion-label> 
     <ion-radio value=""></ion-radio> 
</ion-item> 

我试图发送的导航PARAMS。呼吁构造和ionViewWillEnter()取回功能

update.ts

export class AboutPage { 
    errorList: any; 
    error: string; 
    errors: {}; 
    nav: NavController; 

constructor(public navCtrl: NavController, public navParams: NavParams, private errorService: ErrorServiceProvider) { 
    this.nav = navCtrl; 
    this.error = ""; 
    this.errors = this.navParams.get('errors'); 
    this.errorList = []; 
} 

ionViewWillEnter() { 
    this.fetchErrors(); 
} 

fetchErrors() { 
    this.errorService.getErrors() 
    .then(data => { 
    this.errorList = data; 
    console.log(this.errorList); 
}); 
} 

selectError() { 
    console.log(this.errors); 
    console.log(this.errorList); 
    } 
} 

回答

0

您在这里做的,而不是ng-repeat使用愚蠢的错误,ngFor,因为它的角度,还使用了elvis运营商检查值是否存在

<ion-item ngFor="let e in errorList"> 
     <ion-label>{{e?.name}}</ion-label> 
     <ion-radio value=""></ion-radio> 
</ion-item> 
+0

没有错误。但不运行ng-repeat。 fetchErrors()函数输出正确的值。但它不会出现在视图中。 –

+0

@dhanush_c检查更新的答案 – Sajeetharan

+0

仍然无法正常工作。与elvis操作员一起运行,没有错误。但以正常的方式说undefined没有name属性。 –