Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Problema na navegação do menu ionic

Estou com problema para execução da navegação do código com o seguinte erro: runtime error uncaught (in promise) invalid link LoginPage

Código do app.component.ts

import { Component, ViewChild } from '@angular/core';
import { Platform, Nav } from 'ionic-angular';
import { StatusBar } from '@ionic-native/status-bar';
import { SplashScreen } from '@ionic-native/splash-screen';

import { LoginPage } from '../pages/login/login';
import { PainelPage } from '../pages/painel/painel';
@Component({
  selector: 'myapp',
  templateUrl: 'app.html'
})
export class MyApp {
  @ViewChild(Nav) public ir: Nav;
  rootPage:any = LoginPage;

  public paginas = [ 
    {titulo: 'Login', nomePagina: LoginPage.name, icone:'calendar' }
  ];

  constructor(platform: Platform, statusBar: StatusBar, splashScreen: SplashScreen) {
    platform.ready().then(() => {
      statusBar.styleDefault();
      splashScreen.hide();
    });
  }

  irParaPagina(nomePagina){
    //alert(nomePagina);
    this.ir.push(nomePagina);
  }
}

Código do app.html

<ion-split-pane>
        <ion-menu [content]="conteudo">
            <ion-content>
                <ion-item id="cabecalho-menu" class="cabecalho-menu">
                    <div>
                        <ion-avatar item-start>
                            <img src="assets/imgs/avatar-profile.png">
                        </ion-avatar>
                    </div>
                    <h2>Usuário</h2>
                    <p>Bem-vindo ao sistema</p>
                </ion-item>

                <ion-list>

                    <button ion-item menuClose *ngFor="let pagina of paginas"
                        (click)="irParaPagina(pagina.nomePagina)">

                        <ion-icon [name]="pagina.icone" item-left></ion-icon>
                        {{ pagina.titulo }}
                    </button>
                </ion-list>
            </ion-content>
        </ion-menu>
        <ion-nav [root]="rootPage" main #conteudo swipeBackEnabled="false"></ion-nav>
    </ion-split-pane>
1 resposta
solução!

Boa noite, Vinicius! Como vai?

Vc colocou a LoginPage nas seções declarations e entryComponents do app.module.ts? Talvez vc tenha esquecido desse passo e por isso não esteja conseguindo fazer a navegação.

Outra coisa, de acordo com essa linha:

{titulo: 'Login', nomePagina: LoginPage.name, icone:'calendar' }

Vc está tentando fazer uma navegação por lazy loading, então nesse caso, não teria que que declarar a LoginPage nas seções declarations e entryComponents do app.module.ts e sim na seção exports do login.module.ts.