我在onLoad 中取值 option.scene
但是取值不到; 直接跳转到首页了;
哪里取值有问题吗?
我传入 scene 是 1 的话(如下图) 能不能 直接 option.scene 获取
或者 employeeId=1 怎么获取合适?
onLoad: function(option) {
let employeeId = false;
if (option.employeeId) {
employeeId = option.employeeId;
}
if (option.scene) {
let scene = decodeURIComponent(option.scene);
employeeId = scene.split('=')[1];
}
if (employeeId === false) {
uni.redirectTo({
url: '/pages/index/index'
});
return;
}
}
if (!options.scene) {
this.setData({
employeeId: options.employeeId || ''
})
} else {
var getQueryString = {}
var strs = decodeURIComponent(options.scene).split('&') //以&分割
//取得全部并赋值
for (var i = 0; i < strs.length; i++) {
getQueryString[strs[i].split('=')[0]] = unescape(strs[i].split('=')[1])
}
this.setData({
employeeId: getQueryString['employeeId'] || '',
})
}
为什么还要使用 以&分隔呢?
scene传入的值 转换成什么了啊??
扫码进入太难debug了
我知道为啥取不到值了
没有 unescape
另外,发现可以在开发工具-通过二维码编译
来进行调试.
大佬 再问个问题
我转发的path是/pages/employee/employee?employeeId=1
为啥跳转说页面不存在啊
/pages/employee/employee 这样就是正常的
options=>{"path":"pages/index/index","query":{"scene":"18-3456"},"scene":1001,"referrerInfo":{}};
scene是自定义的参数拼接,不能用key-value形式。
但是要做处理 unescape
我也是今天才发现 需要对参数做处理才能拿到自己的参数 文档写的不够清楚了 不过还好有编译模式我自己上传了生成的小程序码才发现参数的问题