import VueRouter from 'vue-router'
Vue.use(VueRouter) //实例
const routes=[{
path:'',
component:()=>import('文件路径'),
redirect:''//重定义项,
meta:{title:'标签名字',icon:'icon图标名字'},
name:''//在做路由守卫的时候会用到name,
children:[{
//同上
}]
}]
export const router new VueRouter({
mode:'history' //会把默认的#去除 hash模式 指url尾巴后的#号及后面的字符
routes
})
~ 默认是hash模式 hash模式和history模式都是属于浏览器自身特性
~ history —— 利用了 HTML5 History Interface 中新增的 pushState() 和 replaceState() 方法。(需要特定浏览器支持)这两个方法应用于浏览器的历史记录栈,在当前已有的 back、forward、go 的基础之上,它们提供了对历史记录进行修改的功能。只是当它们执行修改时,虽然改变了当前的 URL,但浏览器不会立即向后端发送请求。
~ hash —— 即地址栏 URL 中的 # 符号(此 hash 不是密码学里的散列运算)。比如这个 URL:http://www.abc.com/#/hello,hash 的值为 #/hello。它的特点在于:hash 虽然出现在 URL 中,但不会被包括在 HTTP 请求中,对后端完全没有影响,因此改变 hash 不会重新加载页面。
new Vue({
router,
el:'#app',
components:{App},
template:'<App/>'
})
this.$router.push({
path:'路径',
query:{传递的参数}
})
this.$router.push(name:'配置中的name')