? ? ? ?在寫一個業(yè)務邏輯的時候遇到一個問題辰企。风纠。小程序wxml的數(shù)據(jù)在你返回微信主頁的時候是不算退出的,只能算onhide牢贸,并且小程序沒有給退出小程序的監(jiān)聽方法,之前看文章說用信號量來監(jiān)測镐捧,確實可以實現(xiàn)一部分潜索,但是如果小程序有tabbar的話臭增,,這個方法也不好使竹习。所以我遇到的問題就是誊抛,第一次掃碼進入一個小程序,刷新出來數(shù)據(jù)以后整陌,返回微信主界面拗窃,再點開這個小程序,首頁的數(shù)據(jù)在不重新請求的情況下泌辫,之前綁定的數(shù)據(jù)就沒有了随夸;但是如果你手動刷新出來數(shù)據(jù),仍然返回微信主頁面震放,然后再打開這個小程序宾毒,在不刷新數(shù)據(jù)的情況下,上次的數(shù)據(jù)會保留下來殿遂,這就讓我很煩惱诈铛。。沒有數(shù)據(jù)的小程序墨礁。幢竹。估計會讓人秒刪。恩静。然后我從wxml的生命周期找答案
? ? ? ? 我發(fā)現(xiàn)焕毫。。在沒有殺死微信這個app的情況下蜕企。咬荷。
第一次打開小程序,以上前3個方法各執(zhí)行1次轻掩,當?shù)谝淮位氐轿⑿胖黜撁娴臅r候onHide,onUnload各執(zhí)行1次幸乒;
第二次打開小程序,以上前3個方法各執(zhí)行1次,當?shù)诙位氐轿⑿胖黜撁娴臅r候onHide執(zhí)行1次唇牧,onUnload不執(zhí)行罕扎;
第三次打開小程序,onLoad丐重,onReady不執(zhí)行腔召,onShow執(zhí)行一次;當?shù)谌位氐轿⑿胖黜撁娴臅r候onHide執(zhí)行1次扮惦,onUnload不執(zhí)行臀蛛;
第四次打開小程序,同第三次
第五次。浊仆。客峭。。抡柿。同第三次舔琅。。洲劣。
备蚓。。囱稽。
也就是說郊尝,當小程序執(zhí)行了onUnload的時候,wxml綁定的數(shù)據(jù)就會消失粗悯,然后再進入小程序才會走onLoad方法
心細的話你會發(fā)現(xiàn)第一次退出和第二次退出有什么區(qū)別:
第一次打開小程序并退出的話虚循,是下面這個(朋友圈)頁面
第2次打開小程序并退出的話,是下面這個(小程序)頁面
不要小看這個細節(jié)样傍、當是圖3的時候横缔,小程序打開是要走onLoad方法的,因為上次關閉的時候走了onUnload方法衫哥、當是圖4情況的話茎刚,就不會走onLoad方法,它的上一次退出也沒走onUnload方法撤逢、小程序的生命周期發(fā)生了挺大變化膛锭,當然這個細節(jié)大部分業(yè)務邏輯不用關心,但是真的用到的時候蚊荣,不清楚這個知識點可能會多寫很多代碼初狰,我相信某個時間點你會感激我的,哈哈
tips:所有情況都是針對微信app沒有被殺死的情況下討論的互例,如果微信這個app被殺死奢入,那小程序自然被殺死