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里面也有退出,以上方法将失效。