我正在开发一个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)
答案 0 :(得分:2)
从Vue-Router
文档中,我发现了这一点。
vue-router的默认模式是哈希模式 - 它使用URL哈希模拟完整的URL,以便在URL更改时不会重新加载页面。
为了摆脱哈希,我们可以使用路由器的历史模式,该模式利用history.pushState API实现URL导航而无需重新加载页面:
const router = new VueRouter({
mode: 'history',
routes: [...]
})
我尝试了以上操作,它对我来说很好。有关详细信息,请参阅here