Ionic2/Angular2 - 尝试从 Rest API 获取数据时模式视图未打开

Ionic2/Angular2 - ModalView does not open when trying to fetch data from a RestAPI

我正在尝试显示我在 Ionic2 应用程序的模式中使用休息 API 获取的数据;但是,当我单击打开模式时,它不会出现。奇怪的是,当我删除获取数据的代码时,模式再次出现! 这是 无效的 代码:

modalPage.js

export class modalPage {
      static get parameters() {
        return [[ViewController],[Http]];
      }

      constructor(viewCtrl) {
        this.viewCtrl = viewCtrl;
        this.http = http;
        this.res = null;

        this.http._defaultOptions.headers.append('X-Parse-Application-Id', 'someKey');
        this.http._defaultOptions.headers.append('X-Parse-REST-API-Key', 'someKey');
        this.http.get('https://parseapi.server.com/classes/Sbt').subscribe(data => {
        this.res = data.json().results;
        });

      }
        close() {
        this.viewCtrl.dismiss();
      }
    }

当我从上面的代码中删除几行时(主要来自constructor()),有效

    export class modalPage {
      static get parameters() {
        return [[ViewController],[Http]];
      }

      constructor(viewCtrl) {
        this.viewCtrl = viewCtrl;
      }
        close() {
        this.viewCtrl.dismiss();
      }
    }

当然,您的 REST API 有问题,您没有得到结果,这就是模式无法打开的原因。让我确定的是,当您删除从 REST API 中获取数据的行时,一切都会再次运行! 我相信您无法在控制台中看到任何错误,这就是您被卡住的原因!

这是我面临的大问题 Angular,我无法边调试边查看错误...我希望在不久的将来能在控制台中看到错误,而不是看到空白页或 Angular 方根本没有响应。

我建议您重新检查 REST API,只需在您的终端上通过 CURL 即可,这样您就可以捕获错误!

我希望它能回答你的问题。

我遇到了同样的问题,这里应该先加载模态,然后我们可以请求 HTTP,请尝试使用 setTimeout(),它对我有用。

setTimeout(() => {
  this.onLoad();
}, 500);

onLoad() {
    //this.http request
}