小程序
小游戏
企业微信
微信支付
扫描小程序码分享
跳转tabbar页面,tabbar页面的onMounted只会执行一次。跳转非tabbar页面执行onMounted后返回其他页面,再次进入非tabbar页面还会执行。有大佬知道其原理吗?
1 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
onMounted 界面创建之后的生命周期
onShow 界面渲染显示的声明周期
tabbar 切换 tabbar 时,声明周期不会重置,但是会触发重新渲染
navigateTo ,微信小程序的界面是 堆栈的形式,同时最多只能打开10个界面,如果关闭了界面,那就是真的关闭了。
如果你不懂触发逻辑的下 ,看我的描述
tabbar:第一次渲染会触发onMounted (因为要先触发,如果你有3个tabbar界面,那就是每个界面触发一次,总共3次)
切换 tabbar tabbar 切换时,不会关闭界面,简单的理解就是,切换tabbar ,就会关闭其他的tabbar 界面,同时触发当前界面onShow 事件,
所以,如果在tabbar 界面写逻辑,应该是这样的 ,
tabbar 涉不涉及切换tabbar 刷新数据,如果需要,调用接口写在onShow,如果不需要,则写在 onMounted
navigateTo:你的每次navigateTo,都会重新创建界面,也就是会走 onMounted 也会走 onShow ,执行的顺讯为 onMounted=》onShow
所以,如果在navigateTo界面写逻辑,应该是这样的 :
onMounted 中直接调用接口,如果你涉及了webcoket的打开操作 ,那么你在界面销毁时,一定要关掉 ,scoket ,不然你每次进入界面,都会链接一个socket ,全局定时器也是同理
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
onMounted 界面创建之后的生命周期
onShow 界面渲染显示的声明周期
tabbar 切换 tabbar 时,声明周期不会重置,但是会触发重新渲染
navigateTo ,微信小程序的界面是 堆栈的形式,同时最多只能打开10个界面,如果关闭了界面,那就是真的关闭了。
如果你不懂触发逻辑的下 ,看我的描述
tabbar:第一次渲染会触发onMounted (因为要先触发,如果你有3个tabbar界面,那就是每个界面触发一次,总共3次)
切换 tabbar tabbar 切换时,不会关闭界面,简单的理解就是,切换tabbar ,就会关闭其他的tabbar 界面,同时触发当前界面onShow 事件,
所以,如果在tabbar 界面写逻辑,应该是这样的 ,
tabbar 涉不涉及切换tabbar 刷新数据,如果需要,调用接口写在onShow,如果不需要,则写在 onMounted
navigateTo:你的每次navigateTo,都会重新创建界面,也就是会走 onMounted 也会走 onShow ,执行的顺讯为 onMounted=》onShow
所以,如果在navigateTo界面写逻辑,应该是这样的 :
onMounted 中直接调用接口,如果你涉及了webcoket的打开操作 ,那么你在界面销毁时,一定要关掉 ,scoket ,不然你每次进入界面,都会链接一个socket ,全局定时器也是同理