init: async function(global) {
let user = uni.getStorageSync(Keys.user);
let accessToken = uni.getStorageSync(Keys.accessToken);
if (!accessToken) {
uni.reLaunch({
url:"/pages/auth/index"
})
return
} else {
uni.reLaunch({
url:"/pages/index/index"
})
}
webSocket(global)
},
onLaunch: function() {
// #ifdef MP-WEIXIN
core.init(this.$scope.globalData);
// #endif
// #ifndef MP-WEIXIN
core.init();
}
- 发布:2022-12-01 09:30
- 更新:2023-01-07 21:11
- 阅读:321
产品分类: uniapp/H5
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: 7
HBuilderX类型: 正式
HBuilderX版本号: 3.6.10
浏览器平台: Chrome
浏览器版本: 06.0.5249.119
项目创建方式: HBuilderX
示例代码:
操作步骤:
登录以后跳转页面通过onLaunch 鉴权跳转到首页的逻辑
登录以后跳转页面通过onLaunch 鉴权跳转到首页的逻辑
预期结果:
执行一次
执行一次
实际结果:
执行两次
执行两次
bug描述:
【报Bug】h5启动登录鉴权 在App.vue onLaunch判断token中通过un.reLaunch跳转到另一个页面,另一个页面的onLoad执行两次
但是用navtiveto 和 redirectTo 跳转 onload 就不会执行两次 我不知道说是机制就是这样的还是有问题
1 个回复
DCloud_UNI_WZF
测试未复现问题描述问题,但是会存在问题是:
vue2 App onLaunch 生命周期跳转非首页不会触发首页生命周期,而vue3 会
uniapp 框架暂未明确 App onLaunch 生命周期跳转非首页是否打断首页加载
所以导致 vue2 3 表现不一致,建议把App onLaunch 的逻辑放在首页处理,此时首页作为一个中转页面