vue-router 总结

112 阅读1分钟

vue-router是什么

vue-router是vue的路由插件

vue-router有哪几种导航钩子

vue-router的导航钩子,主要用来作用是拦截导航,完成跳转或取消

全局导航钩子
  • 前置守卫
const router = new VueRouter({...})
router.beforeEach((to,form,next) =>{
   ...
})

参数解析:

  • to:代表要进入的目标,是一个路由对象
  • from:代表当前正要离开的路由,同样也是一个路由对象
  • next:必须要调用的方法,否则钩子函数无法resolved

routeroute和router的区别

  • route:相当于当前正在跳转的路由对象,可以从里面获取name,path,params,query等
  • router:为VueRouter的实例,相当于一个全局的路由器对象,包含很多属性和子对象。

vue-router的两种模式

  • hash模式,(默认模式) 原理是:onhashchange事件
window.onhashchange = function(){
  let hash = location.hash.slice(1);
}

使用onhashchange()事件的好处:在页面的hash值发生变化时,无需向后端发起请求,window就可以监听事件的改变,并按规则加载相应的代码。

  • history模式 history模式利用了html5中history Interface中新增的pushstate()和replaceState()方法。