uniapp开发小程序,当二级页面返回一级页面时,触发一级页面的事件或者更新一级页面的某项数据

二级页面代码:

uni.navigateBack({
			delta: 1,
			success() {
				const pages = getCurrentPages();
				const targetPage = pages[0];
				targetPage.$vm.addJournalState=true
	}
})

有人部分博客获取上一页信息是通过这样获取的:var targetPage = pages[pages.length - 2],我这样获取显示undefined,大家可以把ages打印一下,看看内容,然后自行选择

注解:

getCurrentPages()方法来获取当前页面栈

$vm是指Vue组件实例

一级页面代码:

		onShow() {
			setTimeout(() => {
				if (this.addJournalState) {
                    // 重新获取数据
					this.upJournal()
					this.addJournalState = false
				}
			}, 100)
		}

每次页面切换就会判断一下,如何是指定二级页面返回过来,会将状态设置为ture,就会执行代码重新获取数据,其他则不会

注解:

使用setTimeout的原因是因为确认一级页面addJournalState状态已经被修改

猜你喜欢

转载自blog.csdn.net/weixin_52479803/article/details/131528496