1. 问题分析
<v-link tag="div" v-if="symbol" :to="{ path: '/pages/exchange/index', query: { code: symbol} }" > </v-link>
uni-app使用 :to 跳转的页面中内嵌了一个iframe,如果iframe页面内进行了点击跳转,用vue-router的返回,是无法回到期望的vue页面。
2. 原因分析
执行vue-router的返回,回退的只是iframe导航,如果iframe里面点击了多次,使url发生变更,那么用户要点击很多次才能真正的返回。
3.解决方案
定义参数:
rlen: history.length,// history.length:浏览器历史列表中的元素数量
定义方法
backTo() { //-1是不进入iframe页面的下级页面直接退出的话,执 行后退一步的操作 let len = this.rlen - history.length - 1; this.$router.go(len); }
调用
<view @click="backTo"> <i class="van-icon van-icon-arrow-left van-nav-bar__arrow"></i> </view>
注意:如果iframe里面也有退出,以上方法将失效。