场景:
从list跳转到detail,在detail页面修改数据成功,返回到list,更新list。
难点:
uni.navigateBack 无法像 uni.navigateTo 那样直接传递参数,我们需要想想其他办法。
第一步:
在list页面定义接收函数,关键点,一定要defineExpose。
const getValue = (data) => { console.log('接收到的参数:', data); // 输出: { id: 123 } needUpdateId.value = data.id } // 必须要暴露,detail页面才能使用 defineExpose({ getValue })第二步:
在detail页面,比如修改成功后,传递数据。
const pages = getCurrentPages(); const prevPage = pages[pages.length - 2]; // 获取上一页实例 // 调用上一页的getValue方法并传参 if (prevPage.$vm && typeof prevPage.$vm.getValue === 'function') { prevPage.$vm.getValue({ id: alarmData.value.id }); } // 返回上一页 uni.navigateBack({ delta: 1 })