uni-app路由跳转以及页面传参的方法

路由跳转
uni-app官方给的路由跳转常用方法有以下三个;
1.uni.navigateTo
保留当前页面,跳转到应用内的某个页面,使用uni.navigateBack可以返回到原页面。,注意这里只用于跳转到子页面哦,tabbar跳转不要用这个,用switchTab。
用法代码示例

uni.navigateTo({
		url: '/pages/notice/notice'
})

2.uni.navigateBack
用于关闭当前页面,返回上一页面或多级页面。可通过 getCurrentPages() 获取当前的页面栈,决定需要返回几层。
用法代码示例

uni.navigateTo({
    delta: 1
});

3.uni.switchTab
用于跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面,只可以跳转tabbar页面,其他页面不支持哦,这里需要在page.json文件里配置跳转路径。
用法代码示例

//page.json文件配置
{
	"pages": [ //pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/pages
		{
			"path": "pages/index/index",
			"style": {
				"navigationBarTitleText": "首页",  顶部导航名称
				"navigationBarBackgroundColor":"rgb(0,154,251)",//顶部导航背景色
				"navigationBarTextStyle":"white"//顶部导航字体颜色
			}
		},
	]
}
//页面用法
uni.switchTab({
    url: '/pages/index/index'
});

页面传参
好了说一下页面传参常用方法吧;还有第三方状态管理工具,比如vuex,或者后端数据库存储就不说了

第一种:

直接在跳转页面的URL路径后面拼接,如果是数组或者json格式记得转成字符串格式哦。然后再目的页面onload里面接受即可

代码示例:

//现页面
 uni.navigateTo({
     url:'/pages/notice/notice?id=1'
 })
//目的页面接收
//这里用onshow()也可以
onLoad(options) {
    var data = options.id;
    console.log(data)
}

第二种:

直接在main.js注册全局变量
代码示例

// 例如我用的是vue框架,先在main.js文件注册变量myName
Vue.prototype.myName= '玛卡巴卡';
// 在目标文件读取全局变量,注意全局变量不要与我们在当前页声明的变量名重复
let name = this.myName; // 玛卡巴卡

第三种:

设置本地存储也比较方便,这里建议使用uni.setStorageSync,这个是同步,不会出现去了目标页面取值取不到的问题,uni.setStorage是异步存值,获取值也是一样建议使用uni.getStorageSync

//在页面设置缓存
let data = {key:'name',value:'hello'}
uni.setStorageSync({
	key:'setName',
	data:data
})
//在目的页面读取并销毁
uni.getStorageSync({
	key: 'setName',
	success: (res) => {
		console.log(res)  // ==>{key:'name',value:'hello'}
		uni.removeStorage({
			key:'setName'
		})
	},
})

好啦,还有很多方法都需要我们自己慢慢去摸索,希望这些可以帮到你。
在这里插入图片描述

点个赞在走呗~

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

前端攻城狮路飞

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值