ionic3中NavController类push setRoot相关问题解决

今天在测试app的时候发现,登录页跳转到首页后,会加载两次数据。百思不得其解,查看了所有代码也没能发现问题。最终抱着尝试的态度,动了如下代码:
if (suc) {
  //this.navCtrl.push(TabsPage);
  this.navCtrl.setRoot(TabsPage);
}

猜测是因为setRoot方法中自带了push的功能。结果屏蔽掉代码之后,确实只加载一次数据了。瞎猫碰死耗子的一次经历,写出来和大家分享。官方文档那个里面也没有说明setRoot方法是有Push功能的,只是说这是这是根页面的方法而已。

 

后记:

    后来有一天心血来潮,跟踪到源码的该方法的注释中发现setRoot方法里面,确实有push操作。看来之前的猜测准确。



posted @ 2017-08-04 17:32  tincyho  阅读(2570)  评论(0编辑  收藏  举报