需求 :
路由从 页面A -> 页面B-> 页面C-> 页面D 我希望在 页面C跳到页面CD 后 在页面D 中 点击返回(物理键或是代码返回),直接返回到A,而不是页面C 所以我需要把BC页面给销毁掉
以下是我的实现思路,在h5中是能正常运行的,小程序没有测
javascript
<template>
<view>
<text>C页面</text>
<u-button @click="toD">进入D</u-button>
</view>
</template>
<script lang="ts" setup>
const data = 666
const toD = async () => {
uni.navigateBack({
delta: 2,
complete: () => {
setTimeout(() => {
uni.navigateTo({
url: `/packageDemo/page/D?data=${data}`,
})
}, 100)
},
})
}
</script>
简单解释一下:返回到A页面,这个时候BC页面就会被销毁,在跳转到D
有人可能会问,为什么 跳转到页面D data还能传过去,有值呢?因为这里有了一个箭头函数的闭包引用,携带的data自然能引用到
好了,今天的小技巧学会了吗?