在第二个页面 点击 测试 修改上一个页面的数据
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
}
结果

点击后 获取到第一个页面的数据
返回第一页 数据已经改变