也许你会碰到这样一个场景,在【返回上级路由,或者跳转目标路由】时,在部分场景下如果临时需要传给目标路由相关数据,则这篇文章必定会对你有所帮助。
也许还有另一个场景,不方便缓存路由时,返回上级路由时,上级路由又不一定要重调接口获取数据(直接使用缓存数据),则也可以通过该方式传个判断值给目标进行判断(虽然也可以在pinia vuex之类的里面存相关变量去判断,但需要不断的修改该变量,这种算是下下策)。
- <template>
- <button @click='$router.back()'>返回button>
- template>
- <script lang="ts">
- export default {
- beforeRouteLeave(to, from) {
- to.query.newData = '传入临时数据给目标路由'
- to.query.ischange = false as any
- return true
- }
- }
- script>