网站首页 > 技术文章 正文
场景:假设跳转的页面是‘../../myselfs/myselfs’
uni.switchTab({
url:'../../myselfs/myselfs',
})
如果需要在../../myselfs/myselfs页面中需要触发加载事件,比如通过接口获取登录用户信息
onLoad() {
this.isLogin()//通过请求接口获取数据
},
此时跳转页面数据是不加载的,因为tabbar仅当页面真正刷新的时候才会执行除(onShow()和onHide())之外的生命周期函数,所以方法失效。
onShow() {
this.isLogin()//可以正常执行,但每次加载都会触发
},
最优做法:在switchTab里添加加载成功事件,拿到加载后的page对象,执行需要跳转页面的方法
uni.switchTab({
url:'../../myselfs/myselfs',
success() {
var page = getCurrentPages().pop();//拿到跳转后页面的page对象
console.log(page)
//#ifndef H5
page.onLoad() //条件编译除H5平台下触发函数(H5下onLoad有效)
// #endif
//#ifdef H5
page.isLogin() //onLoad H5下偶尔失效(直接触发方法)
//#endif
}
})
附:console.log(page)部分
Popup 弹出层(onLoad使用时)出错TypeError: Cannot read property 'open' of undefined
因为 ref 本身是作为渲染结果被创建的,在初始渲染的时候你不能访问它们 - 它们还不存在!$refs 也不是响应式的,因此你不应该试图用它在模板中做数据绑定。
所以this.$refs.popup.open()会报错
猜你喜欢
- 2024-11-03 「大促最后1天」带你了解家庭的生命周期
- 2024-11-03 uniapp-权限处理(uniapp弹出通知权限)
- 2024-11-03 万能前端框架uni app初探03:底部导航开发
- 2024-11-03 uniapp开发安卓应用踩坑记(uniapp开发项目)
- 2024-11-03 uniapp 触底加载更多数据的方法(uniapp上拉加载更多)
- 2024-11-03 《微信小程序开发从入门到实战》学习二十七
- 2024-11-03 uni-app plus.runtime.arguments 获取参数
- 2024-11-03 uniapp入门到进阶(必备知识扩展-1) - vue3你不知道的那些事
- 2024-11-03 遵义小红椒 带你进 uni-app 入坑指南
- 2024-11-03 uni-app从入门到进阶 系统完成项目实战
- 最近发表
- 标签列表
-
- cmd/c (57)
- c++中::是什么意思 (57)
- sqlset (59)
- ps可以打开pdf格式吗 (58)
- phprequire_once (61)
- localstorage.removeitem (74)
- routermode (59)
- vector线程安全吗 (70)
- & (66)
- java (73)
- org.redisson (64)
- log.warn (60)
- cannotinstantiatethetype (62)
- js数组插入 (83)
- resttemplateokhttp (59)
- gormwherein (64)
- linux删除一个文件夹 (65)
- mac安装java (72)
- reader.onload (61)
- outofmemoryerror是什么意思 (64)
- flask文件上传 (63)
- eacces (67)
- 查看mysql是否启动 (70)
- java是值传递还是引用传递 (58)
- 无效的列索引 (74)