八、uni-app页面调用接口

📅 2026/8/21 9:05:51
八、uni-app页面调用接口
一、getApp()获取“总控制权”作用获取全局数据globalData比如用户的登录信息、Token存在总部任何分店页面都能用 getApp() 拿到。调用全局方法如果 App.vue 里写了个公共方法页面也可以直接调用。constappgetApp()console.log(app.globalData.userInfo)// 获取全局用户信息2. 避坑指南别在 App.vue 的 onLaunch 里用它这时候总部还没建好getApp() 会报错。在 App.vue 内部请用this.$scope.globalData。nvue 首页特例如果在 nvue 首页获取不到可以用getApp({allowDefault: true})获取原始对象。二、getCurrentPages()获取“当前的叠叠乐积木”作用小程序的页面就像叠叠乐的积木一层一层叠起来这叫页面栈。getCurrentPages() 就是用来查看当前叠了多少层积木的。返回一个数组第一个是首页最后一个是当前页面。跨页面传值最常用比如你在“编辑页”修改了头像返回“个人中心页”时需要刷新数据就可以通过它找到上一页并调用它的方法。constpagesgetCurrentPages();constcurrentPagepages[pages.length-1];// 拿到当前页面constprevPagepages[pages.length-2];// 拿到上一页console.log(currentPage.route);// 打印当前页面的路由路径2. 避坑指南只能看不能改这个数组只能用来“展示”或“读取”千万不要去 push 或 pop 修改它否则页面状态会乱套。Vue3 调用上一页方法在 Vue3 中如果上一页使用了script setup需要在上一页用defineExpose({ updateData })暴露方法当前页才能通过prevPage.updateData()调用。三、$ getAppWebview()获取“页面的底层外壳”作用对页面进行更底层的原生控制比如动态修改页面的下拉回弹效果bounce、获取页面 ID 等。2. 避坑指南仅限 App 端这个方法是 App 平台专属的微信小程序和 H5 是不支持的使用时必须加上条件编译// #ifdef APP-PLUS。// #ifdef APP-PLUSconstpagesgetCurrentPages();constcurrentPagepages[pages.length-1];constcurrentWebviewcurrentPage.$getAppWebview();console.log(currentWebview.id);// #endif不要自己创建/销毁uni-app 有自己的窗口管理机制不要乱用原生 API 去销毁它如果需要弹窗覆盖请使用 subNvue。