我看文档说是,整个页面生命周期,只执行一次。
我这么理解的,就是这个页面只要没死,就执行一次。
死了以后,再回到这个页面,还是会执行onload。
那怎么知道他什么情况下是死了,什么情况是没死?
比如确认订单页面,我点返回,再点商品进来,还是会执行onload,
如果我在确认订单页面,点击收货信息,进入修改收货地址页面,再点击返回,就不会执行onload。
这是为啥呢?有什么区别呢?是因为使用了跳转方式导致的?
用a跳转方式,再进入就是,页面没死,不执行onload,
用b方式跳转,再进入就是,页面死了,需要再执行onload一次。
redirectTo,navigateTo,switchTab,是不是因为这几种方式,导致页面可能被卸载。
那点左上角<返回按钮,是到底是啥方式。有点晕。
你把这个想成一个栈
var pages = []
有A,B两个页面
你当前在A页面,也就是pages = [A]
A -> B
pages = [A, B]
因为B本来不在pages里,所以B执行onload
在B页面点击<返回后,pages = [A],因为A一直都在pages里,所以不执行onload