我们在开发vue时,地址栏中会出现#,如下图所示:
在这里插入图片描述
当我们点击跳转A页面时:
在这里插入图片描述
那么地址栏中的#到底是什么意思?如何去掉?

路由的两种显示模式

Hash模式

这个模式下地址栏中包含#。主要减少前台到后台的访问次数。当地址栏中的内容没有发生改变时,浏览器就不会发送请求到后台。这样就可以减少后台的访问次数。
缺点是,当微信支付时,或者分享URL时,#就无法满足需求了,因为URL中的参数中时不允许出现特殊符号的。
常常把Hash模式更改为History模式。

History模式

具有对URL历史记录进行修改的功能。这个模式下同样可以减少后台的访问次数,这时理由H5中的一个新功能来实现的。是目前普遍采用的模式。
缺点:刷新问题,当页面不存在时,就会出现404错误。而Hash模式下,及时页面不存在也不会出现404错误。

如何修改

在index.js中修改:即可

export default new Router({
  mode: 'history',
  routes: [
    ........
      ]
    }
  ]
})

在这里插入图片描述
这时的访问习惯,就跟我们通常的访问习惯保持一致了。

Logo

前往低代码交流专区

更多推荐