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

san*_*oco 5 navigation safari html5-history vue.js vue-router

我有以下设置App.vue:

<top-nav></top-nav>
<main>
    <router-view v-bind="{isOnline}"></router-view>
</main>
Run Code Online (Sandbox Code Playgroud)

top-nav我的js我有goBack方法:

methods: {
    goBack() {
        this.$router.go(-1);
    },
    ...
},
Run Code Online (Sandbox Code Playgroud)

这适用于Chrome和Internet Explorer,但不适用于Safari.在该行上调试并设置断点时,.go(-1)它会遇到断点,一切看起来都很好(没有任何未定义).但是导航调用没有完成.

这不适用于移动设备或桌面设备.我以为Safari支持History API?

san*_*oco 2

我发现我用于返回的图标被包裹在带有 sethref属性的锚标记中。

<a v-if="showBackButton" href="#" @click="goBack">
    <i class="icon icon-200-chevron-left-small"></i>
    <p>back</p>
</a>
Run Code Online (Sandbox Code Playgroud)

解决方案:

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