从页面中删除#在页面刷新后显示404,我在Laravel应用程序中使用Vue Js

时间:2017-05-14 08:51:21

标签: laravel-5 vuejs2 vue-router

我正在开发一个laravel(5.4)应用程序,其中我使用vue js(2.0)进行SPA,我的问题是我想从URL中删除#(hash)。

请建议我解决方案吗?

这是我的HTML

<ul class="category-list">
    <li><router-link to="/testlink.html">Tets Link</router-link></li>
    <li><router-link to="/demotestlink.html">Demo Test LInk</router-link></li>
</ul>

这是我的vue js代码

export default new VueRouter({
    [
        {
            path: '/testlink.html',
            component:require('./components/demo/Testlink')
        }
    ],
    mode: 'history',
});

我在Assets

中的components / demo文件夹中创建了一个Testlink.vue文件

注意:仅供参考,我在Laravel(5.4)应用程序中使用vue.js(2.0)

1 个答案:

答案 0 :(得分:2)

Vue-Router文档中,我发现了这一点。

  

vue-router的默认模式是哈希模式 - 它使用URL哈希模拟完整的URL,以便在URL更改时不会重新加载页面。

     

为了摆脱哈希,我们可以使用路由器的历史模式,该模式利用history.pushState API实现URL导航而无需重新加载页面:

const router = new VueRouter({
  mode: 'history',
  routes: [...]
})

我尝试了以上操作,它对我来说很好。有关详细信息,请参阅here