在构建apk文件后,IonViewDidLoad不会从Ionic中的服务类加载数据

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在构建apk文件后,IonViewDidLoad不会从Ionic中的服务类加载数据相关的知识,希望对你有一定的参考价值。

我构建了一个表单,用户可以填写有关他的所有信息,包括将通过下拉列表提供的国家/地区代码,并在提交按钮后显示数据。当我在浏览器上运行时,一切正常。但是当我构建apk文件时,国家代码不会被加载。我将国家代码的JSON文件保存在资产中并通过提供程序获取。然后我在IonViewDidLoad中调用服务,就像这样,

ionViewDidLoad(){
    this.service.getData()
    .subscribe(
      (success: Country) => {
        this.country = success;
        console.log(success);
      },
      err => {
        this.toast.create({
          message: JSON.parse(err)
        }).present()
      }
    )
  }

我的服务类

private url = "../../assets/imgs/country.json";
  constructor(public http: HttpClient) {
    console.log('Hello AppointmentProvider Provider');
  }

  public getData(){
    return this.http.get<any>(this.url);
  }

我也尝试从IonViewDidEnter和构造函数调用服务类,但是在这里也没有成功。

请帮助我,因为我是Ionic和有角度的新手

提前致谢。

答案

由于我们没有关于该项目的更多信息,我建议您使用角度生命周期事件并报告行为是否有变化。

确切地说,你可以运行这个代码: ngAfterViewInit(){ this.service.getData() .subscribe( (success: Country) => { this.country = success; console.log(success); }, err => { this.toast.create({ message: JSON.parse(err) }).present() } ) }

以上是关于在构建apk文件后,IonViewDidLoad不会从Ionic中的服务类加载数据的主要内容,如果未能解决你的问题,请参考以下文章

在构建 gradle 和提交中更改版本代码后,不使用 devops Pipeline 生成 Android APK 版本明智

ionic 3 函数ionViewDidLoad()中读取存储值原生存储

Cordova 无法使用 x86_64 lib 文件夹构建 APK

构建-13 Analyzer APK文件分析

将flutter从master切换到stable后无法构建发布apk

Android 构建 apk 更改原始 png 文件