uniapp页面跳转并传值的实现
在uniapp中,我们可以使用uni.navigateTo()、uni.redirectTo()等函数实现页面的跳转。如果需要在页面之间传递参数,则可以在跳转函数中传递参数。下面我们来详细介绍uniapp页面跳转并传值的实现方法。
uni.navigateTo()函数的使用
uni.navigateTo()函数用于保留当前页面,跳转到应用内的某个页面。通过这个函数可以在跳转时传递参数。下面是一个示例。
//跳转到某个页面
uni.navigateTo({
url: '/pages/test?id=1&name=uniapp',
success: function () {
console.log('跳转成功');
}
});
在跳转时,我们可以在url参数中传递参数。上面的示例传递了两个参数,一个是id,一个是name。在接收参数时,我们需要使用uni.getStorageSync()函数获取传递过来的值。代码如下:
//接收参数
var pages = getCurrentPages(); //获取当前页面
var prevPage = pages[pages.length - 2]; //获取上一页
var id = prevPage.options.id; //获取上一页传递过来的id
var name = prevPage.options.name; //获取上一页传递过来的name
console.log('id:' + id);
console.log('name:' + name);
实现的效果如下图所示:
uni.redirectTo()函数的使用
uni.redirectTo()函数用于关闭当前页面,跳转到应用内的某个页面。通过这个函数也可以在跳转时传递参数。下面是一个示例。
//跳转到某个页面
uni.redirectTo({
url: '/pages/test?id=1&name=uniapp',
success: function () {
console.log('跳转成功');
}
});
在跳转后,我们同样需要使用uni.getStorageSync()函数获取传递过来的值。代码如下:
//接收参数
var pages = getCurrentPages(); //获取当前页面栈
var prevPage = pages[pages.length - 2]; //获取上一页
var id = prevPage.options.id; //获取上一页传递过来的id
var name = prevPage.options.name; //获取上一页传递过来的name
console.log('id:' + id);
console.log('name:' + name);
实现的效果如下图所示:
uni.reLaunch()函数的使用
uni.reLaunch()函数用于关闭所有页面,打开应用内的某个页面。同样,我们也可以在跳转时传递参数。下面是一个示例。
//跳转到某个页面
uni.reLaunch({
url: '/pages/test?id=1&name=uniapp',
success: function () {
console.log('跳转成功');
}
});
在跳转后,我们同样需要使用uni.getStorageSync()函数获取传递过来的值。代码如下:
//接收参数
var pages = getCurrentPages(); //获取当前页面栈
var prevPage = pages[pages.length - 1]; //获取上一页
var id = prevPage.options.id; //获取上一页传递过来的id
var name = prevPage.options.name; //获取上一页传递过来的name
console.log('id:' + id);
console.log('name:' + name);
实现的效果如下图所示:
总结
通过上述介绍,我们可以使用uni.navigateTo()、uni.redirectTo()、uni.reLaunch()函数实现页面的跳转,并且可以在跳转时传递参数。在接收参数时,我们需要使用uni.getStorageSync()函数获取传递过来的值。使用这种方法,可以方便地在页面之间传递参数,实现数据共享。