我在我的主页上使用此挂钩来获取并存储我的应用程序的一些数据。
在网上的很多文章和教程中, ionViewDidLoad 挂钩在缓存视图后只会触发 ONCE 。
但是我用navCtrl.setRoot
测试了切换页面然后返回主页...
再次调用 ionViewDidLoad 。我明白这一切都错了吗?我做错了吗?我应该进行一次测试"在我的命令 ionViewDidLoad 之前?
对此有任何帮助或解释......
答案 0 :(得分:2)
ionViewDidLoad
确实仅在每页创建时调用。通过push()
进行导航时会缓存此视图,即此页面仍在堆栈中。如果导航通过pop()
发回到此页面,则不会再次调用该挂钩。
您目前正在使用setRoot()
进行测试。这将清除导航堆栈,即当前堆栈中的所有视图都被销毁。在当前页面上调用pop()
时,当前视图也会被销毁。
检查docs
中的查看创建和生命周期挂钩部分