ionic3中NavController类push setRoot相关问题解决
今天在测试app的时候发现,登录页跳转到首页后,会加载两次数据。百思不得其解,查看了所有代码也没能发现问题。最终抱着尝试的态度,动了如下代码:
if (suc) { //this.navCtrl.push(TabsPage); this.navCtrl.setRoot(TabsPage); }
猜测是因为setRoot方法中自带了push的功能。结果屏蔽掉代码之后,确实只加载一次数据了。瞎猫碰死耗子的一次经历,写出来和大家分享。官方文档那个里面也没有说明setRoot方法是有Push功能的,只是说这是这是根页面的方法而已。
后记:
后来有一天心血来潮,跟踪到源码的该方法的注释中发现setRoot方法里面,确实有push操作。看来之前的猜测准确。