1、通过路由跳转带参可以使用navigateTo或者redirectTo,2种跳转的区别,navigateTo跳转过后返回的还是上一页,redirectTo返回的是上上页,在跳转的同时销毁了当前页面,所以返回了上上页。
// 跳转到目的页面,打开新页面
Taro.navigateTo({
url: '/pages/page/path/name?id=2&type=test'
})
// 跳转到目的页面,在当前页面打开
Taro.redirectTo({
url: '/pages/page/path/name?id=2&type=test'
})
页面跳转后获取:
let params = getCurrentInstance().router.params;
console.log(params)
let type=params.type
2、第二种可以通过关闭当前页面栈的方式进行跳转,这种方式不能指定url跳转,相当于把你当前页面关闭,返回上一页,然后我们可以设置参数一起返回
let pages = Taro.getCurrentPages(); // 获取当前的页面栈
let prevPage = pages[pages.length - 2]; // 获取上一页面
prevPage.setData({ //设置上一个页面的值
backFlagGroup: '1',
});
Taro.navigateBack({
delta: 1//表示回到上一页面
})
返回上一页后参数获取:
let pages = Taro.getCurrentPages();
let currentPage = pages[pages.length - 1]; // 获取当前页面
let backFlagGroup=currentPage.data.backFlagGroup