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