
在使用uniapp開(kāi)發(fā)中,可以通過(guò)uni.navigateBack方法回傳數(shù)據(jù)到上一個(gè)頁(yè)面。具體步驟如下:
在當(dāng)前頁(yè)面中,通過(guò)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)聽(tīng)事件并獲取回傳的數(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è)面的功能。通過(guò)uni.$emit在當(dāng)前頁(yè)面觸發(fā)自定義事件,然后通過(guò)uni.$on在上一個(gè)頁(yè)面監(jiān)聽(tīng)該事件來(lái)獲取回傳的數(shù)據(jù)。