在uniapp中,跳转页面主要通过uni.navigateTo()、uni.redirectTo()、uni.switchTab()和uni.reLaunch()这几个方法来实现,具体使用哪个方法取决于你的需求。下面是这些方法的基本用法和区别:
-
uni.navigateTo():
- 用途:用于跳转到应用内的某个页面,但不关闭当前页面,从当前页面的栈顶添加新的页面。
- 示例代码:
uni.navigateTo({ url: 'path/to/page' // 相对路径,如'/pages/index/index' });
-
uni.redirectTo():
- 用途:关闭当前页面,跳转到应用内的某个页面。
- 示例代码:
uni.redirectTo({ url: 'path/to/page' });
-
uni.switchTab():
- 用途:跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面。
- 注意:只能用于跳转到 tabBar 页面。
- 示例代码:
uni.switchTab({ url: 'path/to/tabBarPage' });
-
uni.reLaunch():
- 用途:关闭所有页面,打开到应用内的某个页面。
- 示例代码:
uni.reLaunch({ url: 'path/to/page' });
在使用这些方法时,需要确保传入的url
参数是正确的页面路径。路径可以是绝对路径也可以是相对路径,如果是相对路径,记得以/
开头来表示项目根目录。
另外,uniapp还支持传递参数,可以通过query
对象来传递,例如:
uni.navigateTo({
url: 'path/to/page?param1=value1¶m2=value2'
});
在目标页面中,可以通过onLoad
函数的参数来接收这些参数:
Page({
onLoad(options) {
const param1 = options.param1;
const param2 = options.param2;
// ...
}
});
根据你的具体需求选择合适的方法进行页面跳转。