uniapp navigateBack返回修改前一頁面數據


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()  //返回上一頁
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM