当我推送页面时,Ionic3应用程序重定向到RootPage

时间:2019-01-18 11:35:59

标签: angular ionic3 lazy-loading

在基于Ionic 3的移动应用程序中无法从一页导航到另一页。我有一个链接,当我在主页中单击该链接时,它将调用一个名为openPage的函数。我希望这能打开第二页,但不会。

这是我的代码:

我的主页上的链接:

<a color="dark" class="dashboardicons" (click)="openPage('FaqsPage')"  href="#">
    <ion-icon name="ios-information-circle-outline" color="danger"></ion-icon>
   <br>FAQs
</a>

home.ts文件

import { Component } from '@angular/core';
import { NavController, IonicPage } from 'ionic-angular';

@IonicPage()

@Component({
    selector: 'page-home',
    templateUrl: 'home.html'
})
export class HomePage {
    constructor(public navCtrl: NavController) {

    }

    openPage(page){
        this.navCtrl.setRoot(page);
    }

}

faqs.ts文件(第二页)

import { Component } from '@angular/core';
import { IonicPage, NavController, NavParams } from 'ionic-angular';

@IonicPage()
@Component({
  selector: 'page-faqs',
  templateUrl: 'faqs.html',
})
export class FaqsPage {

  constructor(public navCtrl: NavController, public navParams: NavParams) {

  }

  ionViewDidLoad() {
    console.log('ionViewDidLoad FaqsPage');
  }

  ionViewWillEnter() {
    console.log('ionViewWillEnter FaqsPage');
  }

  ionViewDidEnter() {
    console.log('ionViewDidEnter FaqsPage');
  }

  ionViewWillLeave() {
    console.log('ionViewWillLeave FaqsPage');
  }

  ionViewDidLeave() {
    console.log('ionViewDidLeave FaqsPage');
  }

  ionViewWillUnload() {
    console.log('ionViewWillUnload FaqsPage');
  }

  ionViewCanEnter() {
    console.log('ionViewCanEnter FaqsPage');
  }

  ionViewCanLeave() {
    console.log('ionViewCanLeave FaqsPage');
  }
}

每次单击链接时,第二页闪烁(出现,然后消失),然后将我重定向回首页。我记录了第二页的生命周期事件,显然该页面贯穿了所有事件。我已经尝试使用NavController同时使用push()和setRoot()方法,但均未成功。我所有的页面都是延迟加载的。我在做什么错了?

FaqsPage目前是空白页。它的HTML如下:

<ion-header>
    <ion-navbar>
        <ion-title>Faqs</ion-title>
    </ion-navbar>
</ion-header>
<ion-content padding></ion-content>

1 个答案:

答案 0 :(得分:0)

如果您在library(stringr) library(strex) strings <- c('aa_bb_cc_dd_ee_ff', 'cc_hh_ff_zz', 'bb_dd') splitMiddleUnderscore <- function(x){ nUnderscore <- str_count(x, '_') middleUnderscore <- match(nUnderscore, seq(1, 99, 2)) str1 <- str_before_nth(x, '_', middleUnderscore) str2 <- str_after_nth(x, '_', middleUnderscore) c(str1, str2) } lapply(strings, splitMiddleUnderscore) #[[1]] #[1] "aa_bb_cc" "dd_ee_ff" #[[2]] #[1] "cc_hh" "ff_zz" #[[3]] #[1] "bb" "dd" 中使用setRoot,则会将新页面设置为根页面。使用NavController代替push

setRoot