let routes = getCurrentPages();
let currentRoute = routes[routes.length - 1];
var data = {};
// #ifdef H5
currentRoute = currentRoute.$page
// #endif
data = {
route: currentRoute.route,
options: currentRoute.options
}
return data;
- 发布:2023-12-18 00:23
- 更新:2024-11-13 16:02
- 阅读:848
产品分类: uniapp/App
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: win10
HBuilderX类型: 正式
HBuilderX版本号: 3.99
手机系统: Android
手机系统版本号: Android 14
手机厂商: 华为
手机机型: mete60
页面类型: vue
vue版本: vue3
打包方式: 云端
项目创建方式: HBuilderX
示例代码:
操作步骤:
复制 代码示例
会发现 H5下 不直接返回 options参数 要在$page里获取,但是到了小程序里面 并不返回$page里的options参数 要直接获取
复制 代码示例
会发现 H5下 不直接返回 options参数 要在$page里获取,但是到了小程序里面 并不返回$page里的options参数 要直接获取
预期结果:
统一一下
统一一下
实际结果:
1
1
bug描述:
vue2 中
let routes = getCurrentPages();
let currentRoute = routes[routes.length - 1];
route: currentRoute.route,
options: currentRoute.options,
各端都能获取到路由和参数信息,方便储存和做下一步处理。
但是更新到vue3以后
需要和代码示例一样才能获取到。 H5中 已经不再返回 options参数
但是到了小程序端 又不返回 $page参数 ,那这样的话 就非常的不方便,而且心很慌,数据返回的就不统一
4 个回复
最佳回复
DCloud
HBuilderX 4.0.2024012711-alpha 已修复。
DCloud_UNI_GSQ
收到,后续会考虑统一暴露 options 属性到 page 对象。
8***@qq.com (作者)
不要后续,就现在,我弄完我晚上还要和小姐姐吃饭呢。我等你。
2023-12-18 18:37
coderH
你都使用 #ifdef H5了
里面使用window.location一样的
8***@qq.com (作者)
哈哈,我只是演示出来有这么个意思。本来并不需要
2023-12-19 01:33
w***@163.com
let page = getCurrentPages()[0];
--小程序写法跟vue2一致,没有问题
let data = page.data;
let options = page.options;
--app端需要这样写才行
let data = page.$vm.$data;
let options = page.$page.options;
我用的是4.29版本。
太痛苦了,没有文档可查。只能猜测尝试。