一、uniapp返回上级页面触发指定方法

1、适合触发单个方法时使用

methods:{
    getList(){
        var pages = getCurrentPages(); //当前页面栈  
        let beforePage = pages[pages.length - 2]; //获取上一个页面实例对象  
        beforePage.$vm.getUserInfo(); //触发上一个页面中的getUserInfo方法
        uni.navigateBack();
    }
}

2、适合触发多个方法时使用

//当前页面
methods:{
    getList(){
        var pages = getCurrentPages(); //当前页面栈  
        let beforePage = pages[pages.length - 2]; //获取上一个页面实例对象  
        beforePage.$vm.reFresh = Math.random()//触发上一页监听器
        uni.navigateBack();
    }
}


//上级页面
data() {
    return {
        reFresh:""
    }
}

watch:{
	reFresh:function(){
		this.getList();
		console.log("页面已重新加载");
    }
},

二、uniapp返回上级页面并传递参数

// 当前页面
methods:{
    selectedAdd() {
        let id = 10;
	    uni.$emit('closeData', id);
		uni.navigateBack();
	}
}



//上级页面
onShow() {
	uni.$once('closeData',(data) => {
        console.log('监听返回的参数:' + data)
	})
},

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐