Vue-Router:$router.go(-1) 在 Safari 中不起作用

Vue-Router: $router.go(-1) doesn't work in Safari

我在 App.vue 中有以下设置:

<top-nav></top-nav>
<main>
    <router-view v-bind="{isOnline}"></router-view>
</main>

并且在 top-nav 的 js 中我有 goBack 方法:

methods: {
    goBack() {
        this.$router.go(-1);
    },
    ...
},

这在 Chrome 和 Internet Explorer 中运行良好,但在 Safari 中运行不佳。在该 .go(-1) 行上调试和设置断点时,它会遇到断点并且一切看起来都很好(没有未定义的)。导航调用尚未完成。

这不适用于移动设备和桌面设备。我以为 Safari 支持历史 API?

我发现我用来返回的图标被包裹在一个设置了 href 属性的锚标签中。

<a v-if="showBackButton" href="#" @click="goBack">
    <i class="icon icon-200-chevron-left-small"></i>
    <p>back</p>
</a>

解决方案:

将锚标记更改为 span 或其他内容,当然还要删除 href 属性。