一、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

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐