Solucionado (ver solução)
Solucionado
(ver solução)
7
respostas

Menu com Lazy Loading não funciona

Bom dia, Após criar o APK e instalar o aplicativo no meu celular (LG X POWER) as paginas que estavam com o comando abaixo não estão abrindo.

this.navCtrl.push(DetalheProdutoPage.name)

No momento que mudei o código para colocar a string conforme abaixo, passou a funcionar.

this.navCtrl.push('DetalheProdutoPage')

Vou colocar o código completo abaixo da forma que está dando erro, poderia me ajudar a identificar o motivo???

import { Component } from '@angular/core';
import {AlertController, IonicPage, LoadingController, NavController, NavParams} from 'ionic-angular';
import {ProdutoServiceProvider} from "../../../providers/produto-service/produto-service";
import {Produto} from "../../../modelos/produto";
import {HttpErrorResponse} from "@angular/common/http";
import {HomePage} from "../../home/home";
import {DetalheProdutoPage} from "../detalhe-produto/detalhe-produto";
import {ParametroServiceProvider} from "../../../providers/parametro-service/parametro-service";

@IonicPage()
@Component({
  selector: 'page-lista-produto',
  templateUrl: 'lista-produto.html',
})

export class ListaProdutoPage{

  public produtos: Produto[];
  public nomeServidor: String = this.dadosServidor.nomeServidor;

  constructor(public navCtrl          : NavController,
              private navParams       : NavParams,
              private loadingCtrl     : LoadingController,
              private produtoService  : ProdutoServiceProvider,
              private alertCtrl       : AlertController,
              private dadosServidor   : ParametroServiceProvider){
  }

  converterNumero(valor:string):number{
    return parseFloat(valor);
  }
  ionViewDidLoad() {
    console.log('lista estoque');

    //loading de busca de produtos

    let loading = this.loadingCtrl.create({
      content: 'Carregando lista de produtos'
    });

    //iniciando o loading

    loading.present();

    //busca lista de produtos em json

    this.produtoService.lista()
      .subscribe(
        (produtos) => {
          this.produtos = produtos;
          loading.dismiss();
        },
        (error: HttpErrorResponse) => {
          console.log(error);
          loading.dismiss();
          this.alertCtrl.create({
            title: "Erro",
            subTitle: "Verifique sua conexão com a internet. ListaProdutoTS L47",
            buttons: [{
              text: "Ok",
              handler: () => {
                this.navCtrl.push('HomePage');
              }
            }]
          }).present();
        }
      );
  }
    //Função que identifica o estoque selecionado e manda pra segunda pagina
    selecionaProduto(produto):void {
    // console.log(estoque)
      //ESTÁ COM ERRO AQUI, SÓ FUNCIONA SE COLOCAR A PAGINA COMO STRING
    this.navCtrl.push(DetalheProdutoPage.name,{
      produtoSelecionado: produto.id_estoque
    });
  }
}
7 respostas

Boa tarde, Ricardo! Como vai?

Durante a fase de testes no navegador funciona mesmo usando DetalheProdutoPage.name? Vc já tentou rodar a aplicação com o Ionic DevApp no seu celular pra ver se funciona? Já testou instalar o APK em outros dispositivos ou em emuladores?

Eu preciso dessas (e possivelmente outras informações posteriores) pra tentar entender melhor a sua situação.

Boa tarde Gabriel. No navegado funciona perfeitamente, No Ionic DevApp também. Eu publiquei para uma lista de 5 testadores na Play Store e todos os 5 deixam de funcionar quando utilizo DetalheProdutoPage.name e quando coloco 'DetalheProdutoPage' passa a funcionar.

Nunca testei em outros emuladores, mas os 5 celulares que estão testando tem versão diferente de android e marca diferente também.

solução!

Opa, Ricardo! Perdão pela demora!

Pode ser que seja algum bug no processo da Ionic CLI na geração do aplicativo. Então o que eu indico é vc criar uma issue no repositório do Ionic no Github informando o problema ocorrido. Assim eles poderão avaliar melhor o que está ocorrendo!

Qualquer coisa é só falar meu aluno!

Grande abraço e bons estudos!

Obrigado, farei isso.

Por nada, Ricardo! Sempre que tiver qualquer dúvida é só mandar aqui no fórum!

Grande abraço e bons estudos!

Issues aberta, Quem quiser acompanhar...

https://github.com/ionic-team/ionic/issues/15696

Mto bem, Ricardo! Vamos aguardar agora pra ver o que eles vão falar!