vue中mode:“history“的作用
在未设置mode:“history”,vue的路由默认是hash模式,地址栏中显示如下:hash:在地址栏中显示"#"符号(这里的hash不是密码学中的散列运算)。例如:localhost:8080/#/index,hash的值为#/index。它的特点在于:hash虽然出现在路径中,但是不会被包括在HTTP请求中,对后端完全没有影响,因此改变hash不会重新加载页面。history利用了H5 h
·
在未设置mode:“history”,vue的路由默认是hash模式,地址栏中显示如下:
- hash:在地址栏中显示"#"符号(这里的hash不是密码学中的散列运算)。例如:localhost:8080/#/index,hash的值为#/index。它的特点在于:hash虽然出现在路径中,但是不会被包括在HTTP请求中,对后端完全没有影响,因此改变hash不会重新加载页面。
- history利用了H5 history Interface中新增的pushState()和replaceState()方法。(需要特定浏览器支持)这两个方法应用于浏览器的历史记录栈,在当前已有的back、forward、go的基础上,它们提供了对历史记录进行修改的功能。只是当它们执行修改时,虽然改变了当前的Url,但是浏览器不会立即向后端发送请求。
- 综上:hash模式和history模式都属于浏览器自身的特性,Vue-Router只是利用了这两个特性(通过调用浏览器提供的接口)来实现前端路由。
为了使路径更加直观及美观,就需要使用history模式。只需在router文件夹下的index.js中加入 mode:“history”
关于单页面交互跳转,只需要使用router提供的方法即可。
在main.js文件配置中将router绑定到全局
Vue.prototype.router = router;
跳转页面如下:
<button @click="toArticle()">跳转文章页面</button>
methods:{
toArticle() {
this.$router.push('/article')
}
}
更多推荐
已为社区贡献27条内容
所有评论(0)