uniapp微信小程序--使用页面栈修改上一页的数据

复制代码
在第二个页面 点击 测试 修改上一个页面的数据
let test = () => {
		nextTick(() => {
			const pages = getCurrentPages(); // 获取页面栈
			if (pages.length < 2) return; // 确保有上一个页面

			const prevPage = pages[pages.length - 2]; // 获取上一个页面实例
			const prevPageVM = prevPage.$vm; // 获取 Vue 组件实例
			console.log(prevPage,'prevPage');
			console.log(prevPageVM, 'prevPageVM');
			console.log(prevPageVM.$data, 'prevPageVM.data');
			prevPageVM.testText = '555'
			prevPageVM.testList[0] = 777 
			prevPageVM.testUpdateFn(2,333) 
		})

	}

    这是第一个页面的数据
	let testText = ref('111')
	let testList = ref([0,1,2])
	defineExpose 抛出第一个页面 的数据 很重要 抛出后 第二个页面才能收到数据
defineExpose({
		testText,
		testList,
		testUpdateFn
	})
	let testUpdateFn = (index,data)=>{
		console.log(111);
		testList.value[index] = data
	}

结果

点击后 获取到第一个页面的数据

返回第一页 数据已经改变