需求 :
路由从 页面A -> 页面B-> 页面C-> 页面D 我希望在 页面C跳到页面CD 后 在页面D 中 点击返回(物理键或是代码返回),直接返回到A,而不是页面C 所以我需要把BC页面给销毁掉
以下是我的实现思路,在h5中是能正常运行的,小程序没有测
<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自然能引用到
好了,今天的小技巧学会了吗?