1. 使用prevPage.$vm
頁面A
data() {
return {
content:''
}
}
頁面B
把以下代碼寫在需要修改上一頁面的方法里面,若需要一進入B頁面就修改A頁面的值,把下面代碼的uni.navigateBack()去除后,寫在onLoad方法里面
let pages = getCurrentPages(); //獲取所有頁面棧實例列表 let nowPage = pages[ pages.length - 1]; //當前頁頁面實例 let prevPage = pages[ pages.length - 2 ]; //上一頁頁面實例 prevPage.$vm.content= name; // 修改上一頁data里面的content參數值為name uni.navigateBack()
2. 使用uni.$emit()和uni.$on() 進行頁面間通訊
頁面A監聽值改變,在onShow中添加監聽一個handle的事件
onShow(){
uni.$on("handle", res => {
this.content = res.name;
// 清除監聽
uni.$off('handle');
})
}
B頁面 ,返回A頁面觸發一個事件,使用uni.$emit("handle",{})
getContent(){
uni.$emit("handle",{name: 'Name Content'}); //值傳遞
uni.navigateBack() //返回上一頁
}
