分享最實(shí)用的技術(shù),創(chuàng)造更大的價(jià)值

uniappX ts返回上一個(gè)頁(yè)面如何傳參?

在使用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ù)。


聯(lián)系
QQ
電話
咨詢電話:189-8199-7898
TOP