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