【问题标题】:Ionic view doesn't render ng-repeat with fetched data from API离子视图不会使用从 API 获取的数据呈现 ng-repeat
【发布时间】:2018-01-01 03:09:57
【问题描述】:

我正在尝试显示从 API 获取的数据列表。 页面加载时显示错误数组未定义。但控制台会打印数组。

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

update.html

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

我已尝试作为导航参数发送。在构造函数和 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);
  }
}

【问题讨论】:

    标签: angularjs ionic-framework angularjs-service


    【解决方案1】:

    你在这里犯了一个愚蠢的错误,而不是 ng-repeat 使用 ngFor 因为它是有角度的,也使用猫王运算符来检查值是否存在

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

    【讨论】:

    • 没有错误。但不运行 ng-repeat。 fetchErrors() 函数打印正确的值。但它没有出现在视图中。
    • 仍然无法正常工作。使用 elvis 运算符,它可以正常运行。但通常它说 undefined 没有 name 属性。
    • 你需要阅读 angular2 ,你需要使用 observable 并在此处订阅
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-18
    • 2017-06-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-31
    相关资源
    最近更新 更多