uniapp:导航跳转+传参

1、导航式跳转

<navigator></navigator>组件:只能跳转本地页面。目标页面必须在pages.json中注册。
从A页面跳转到B页面,有以下几种情况:

  • 普通页跳转到普通页:open-type="navigate"(默认navigate)
  • 普通页跳转到tabBar页面:open-type="switchTab"
  • tabBar页面跳转到普通页:open-type="navigate"
  • tabBar页面跳转到tabBar页面:open-type="switchTab"

2、编程式跳转

从A页面跳转到B页面,有以下几种情况:

  • 普通页跳转到普通页:uni.navigateTo()
  • 普通页跳转到tabBar页面:uni.switchTab()
  • tabBar页面跳转到普通页:uni.navigateTo()
  • tabBar页面跳转到tabBar页面:uni.switchTab()

页面跳转的几个方法:

  • uni.navigateTo():保留当前页面,跳转到应用内的某个页面,使用uni.navigateBack可以返回到原页面。
  • uni.switchTab():跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面。
  • uni.redirectTo():关闭当前页面,跳转到应用内的某个页面。
  • uni.reLaunch():关闭所有页面,打开到应用内的某个页面。
  • uni.navigateBack():关闭当前页面,返回上一页面或多级页面。可通过 getCurrentPages() 获取当前的页面栈,决定需要返回几层。
  • uni.preloadPage():预加载页面,是一种性能优化技术。被预载的页面,在打开时速度更快。

3、传参和接收

页面A:传参

<template>
	<view>
		<!-- 导航式跳转 -->
		<navigator open-type="navigate" url="uploadPicture?id=100&name='楚楚姑娘'">传参</navigator>
		<!-- 编程式跳转 -->
		<button @click="sendParams" type="default">传参</button>
	</view>
</template>

<script>
	export default{
		data(){
			return{}
		},
		methods:{
			sendParams() {
				uni.navigateTo({
					url:'uploadPicture?id=100&name="花花公子"'
				})
			}
		}
	}
</script>

页面B:接收参数

<script>
	export default{
		onLoad(option) {
			console.log('传来的参数:', option);
		}
	}
</script>

uniapp:导航跳转+传参

上一篇:小程序前端开发(app.json配置)


下一篇:关于uniapp自定义底部导航栏