路由跳转,传参及接收

一、vue2+js

1.query传参

参数在地址栏上,刷新后数据还在. 数据比较复杂的时候,会解析不出来

//传递参数
this.$router.push({
	path:"路由",
	query:{
		//参数
	}
})

//接收参数
created(){
    this.$route.query;
}

2.params传参

参数不在地址栏,刷新数据不在了. 我们可以把数据存储本地或会话存储,还可以把数据存储vuex中

//传递参数
this.$router.push({
	name:"路由的名字",
	params:{
		//参数
	}
})

//接收参数
created(){
    this.$route.params;
}

3.动态路由传参

//传递参数
 {
    path: "/contact/:id",//在路由上访问组件的时候,地址携带数据
    component: Contact
  },

//接收参数
created(){
     this.$route.params;
}

二、uniapp

1.普通跳转

//传
uni.navigateTo({
	url: '/subpkg/confirm_order/confirm_order?orderId=' + this.id
});

//页面接收
onLoad(options) {
	if (options.orderId) {
		this.orderId = options.orderId
	}
},

2.传的东西太多可能会乱码,就需要转码

//传
uni.navigateTo({
	url: `/subpkgintegral/goods_detail/goods_detail?makingSn=${this.makingSn}&goods=${encodeURIComponent(JSON.stringify(goods))}`
//或者
uni.navigateTo({
	url: '/subpkguser/afterSales/afterSales?countsData=' + encodeURIComponent(JSON.stringify(this.countsData))
});
			
 //页面接收
onLoad(options) {
	this.orderGoods = JSON.parse(decodeURIComponent(option.goods));
},

3.uniapp页面跳转

1.uni.navigateTo:用于打开新页面,并保留当前页面。用户可以返回到上一个页面
2.uni.redirectTo:用于关闭当前页面并打开新页面。用户无法返回到上一个页面
3.uni.switchTab:用于跳转到带有 Tab 的页面,并关闭其他所有非 Tab 页面
4.uni.reLaunch:用于关闭所有页面,并打开新页面
5.uni.navigateBack:用于返回到上一个页面
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值