在使用uniapp開發(fā)中,可以通過uni.navigateBack方法回傳數(shù)據(jù)到上一個(gè)頁(yè)面。具體步驟如下:
在當(dāng)前頁(yè)面中,通過uni.navigateBack方法返回上一個(gè)頁(yè)面,并傳遞需要的數(shù)據(jù)。
// 當(dāng)前頁(yè)面 uni.navigateBack({ delta: 1, // 返回的頁(yè)面數(shù),如果是2代表返回上兩個(gè)頁(yè)面 success() { // 回傳數(shù)據(jù)到上一個(gè)頁(yè)面 uni.$emit('dataChanged', '返回的字符串,也可以是對(duì)象'); } });
在上一個(gè)頁(yè)面的mounted鉤子函數(shù)中,監(jiān)聽事件并獲取回傳的數(shù)據(jù)。
// 上一個(gè)頁(yè)面 export default { mounted() { uni.$on('dataChanged', (data: string) => { // 獲取回傳的數(shù)據(jù) console.log(data.key); // output: value }); } }
這樣就實(shí)現(xiàn)了在當(dāng)前頁(yè)面回傳數(shù)據(jù)到上一個(gè)頁(yè)面的功能。通過uni.$emit在當(dāng)前頁(yè)面觸發(fā)自定義事件,然后通過uni.$on在上一個(gè)頁(yè)面監(jiān)聽該事件來獲取回傳的數(shù)據(jù)。