一、onLoad(options){} 接触一点点uniapp后,常用
vue传参和uniapp的传参(页面之间的传参,不是请求传参)有些许不同,但其实uniapp的传参方式也挺简单的
1、正常的参数
通过url拼接的方式传参,通过options来接收
//父
this.$util.navigateTo({
url: `/pages/orderDetail?cOrderSn=${itemChild.cOrderSn}&cOrderId=${itemChild.orderProductId}`,
})
//子
onLoad(options){
console.log('oooooooooooooooooooooooooooooooooooooooooooooooooooooooooo',options)
},
打印出来的参数(传的是什么就接收到):
2、不正常的参数
通过encodeURIComponent 和decodeURIComponent来进行编码和解码传参
// 父
uni.navigateTo({
url: './fishinfo/fishinfo?pic='+this.watchimg+ '&info='+ encodeURIComponent(JSON.stringify(this.answer) )
});
// 子
onLoad(option) {
this.video = JSON.parse(decodeURIComponent(option.video));
console.log(this.video); //打印出上个页面传递的参数。
// this.selectid = option.id
setTimeout(()=>{
this.playvideo()
},20)
},
二、 getCurrentPages() 内置API,牛逼
uniapp提供了API来获取: getCurrentPages
//父
this.$util.navigateTo({
url: `/pages/orderDetail?cOrderSn=${itemChild.cOrderSn}&cOrderId=${itemChild.orderProductId}`,
})
// 子
onShow() {
let opt = getCurrentPages();
console.log('pppppppppppppppppppppppppppppppppppppppppppppppppppppppppp',opt)
/*
* 参数:——>
* let _query = opt[opt.length - 1].options;
* let _query = opt[opt.length - 1].options;
* let _query = opt[opt.length - 1].options;
* let _query = opt[opt.length - 1].options;
* let _query = opt[opt.length - 1].options;
* let _query = opt[opt.length - 1].options;
* let _query = opt[opt.length - 1].options;
*/
},
https://uniapp.dcloud.io/api/window/window.html#getcurrentpages