[转载]ionic2 tab页面跳转进入子页面与返回的问题
(2017-12-04 15:11:05) 标签:
转载 |
分类: css/js/html5 |
// this.navCtrl.push(TabsPage, {tab: true}); // localStorage["tab"] = '1'; // this.navCtrl.remove(this.navCtrl.length() - 1); // this.app.getRootNav().push(TabsPage); this.navCtrl.setRoot(TabsPage);
当上一个页面使用的是this.navCtrl.push(TabsPage, {tab: true});进行页面跳转后; 子页面是不能使用;this.app.getRootNav().push(TabsPage); 和 this.navCtrl.setRoot(TabsPage);进行跳转
只有上一个页面使用this.app.getRootNav().push(TabsPage); 和 this.navCtrl.setRoot(TabsPage);进行跳转,子页面才能使用this.app.getRootNav().push(TabsPage); 和 this.navCtrl.setRoot(TabsPage)继续跳转;
* tab选项卡的子页面,当跳转后再返回,不能刷新;只在Tab中会执行代码;而框内的子页面处在跳转前的状态,所以返回后或跳转回来后页面没有刷新( android端没有什么问题,但在ios端这个问题很严重,如在ios端的app、浏览器、微信端); 解决方法: import { Component, ViewChild, ChangeDetectorRef } from '@angular/core';
constructor(public navCtrl: NavController, public changeDetectorRef: ChangeDetectorRef, public storage: Storage, public params: NavParams, public alertCtrl: AlertController) {
}
this.changeDetectorRef.detectChanges(); this.navCtrl.setRoot(TabsPage);
当跳转回来连生命周期都不执行时:使用 this.navCtrl.setRoot(TabsPage);进行跳转,直接重新创建Tab; 当只是页面数据没有更新时使用: this.changeDetectorRef.detectChanges();进行刷新
前一篇:[转载]MySQL-触发器-在删除表中一条记录的时候备份此记录到备份表
-
看帖子的都发表一下看法
1月30日 17:11
-
谢谢你哦,你是最棒的
1月30日 18:23
-
既然看了,顶一个吧,好帖子
3月28日 05:34
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。