在基于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>
答案 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