由于小程序跳轉限制10層,為了盡可能的減少頁面棧,在小程序中會用到uni.navigateBack()方法,使用中難免會遇到頁面跳轉之間傳參的問題。uni.navigateBack和uni.navigateTo、uni.redirectTo方式不同,不能通過路由拼接的方式傳參,以下是三種跳轉的方法:
在小程序中uni.navigateTo和uni.redirectTo是通過路由拼接的方式傳參
uni.navigateTo({
url: 'test?id=1&name=uniapp'
});
uni.redirectTo({
url: 'test?id=1'
});
uni.navigateBack通過delta控制返回幾層
uni.navigateBack({
delta: 2
});
下面來聊一聊uni.navigateBack如何實現傳參?
第一種:通過狀態(tài)管理的方式傳值;(這種方式就不演示了,給狀態(tài)管理存值,onShow()中再取值就可以了)
第二種:1、獲取所有的的頁面棧; 2、取將要跳轉頁面的實例;3、通過$vm修改即將跳轉頁面的data里面的參數值;文章來源:http://www.zghlxwxcb.cn/news/detail-571473.html
示例:
下面示例是跳轉上一頁,然后給上一頁data里面的參數傳值
文章來源地址http://www.zghlxwxcb.cn/news/detail-571473.html
//當前頁面
chosePhoto(item) {
let pages = getCurrentPages(); //獲取所有頁面棧實例列表
let nowPage = pages[pages.length - 1]; //當前頁頁面實例
let prevPage = pages[pages.length - 2]; //上一頁頁面實例
prevPage.$vm.idpositive = item; //修改上一頁data里面的參數值
prevPage.$vm.checkoutface = true; //修改上一頁data里面的參數值
uni.navigateBack({ //uni.navigateTo跳轉的返回,默認1為返回上一級
delta: 1
});
}
//上一頁data參數
data() {
return {
idpositive: '../../static/idcard/idpositive.png',
checkoutface: false,
}
},
到了這里,關于uniapp小程序路由跳轉,使用uni.navigateBack方法,實現跳轉傳參的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!