1、全局守卫(在所有路由展示前触发)//在main.js中
router.beforeEach((to, from, next) => { 
     to 即将要进入的到的路由,值为路由
     from 离开的路由(从哪个路由离开),值为路由
     next 值为函数,这个函数决定你接下来要展示的路由页面
})

router.beforeEach((to, from, next) => {
if(to.path==='/login'){
next();
}else{
alert('你还没登录,请登录');
next('/login');
}
});

 在页面点击时,会先询问,然后跳转。

2、后置钩子(在所有路由展示后触发)//在main.js中

router.afterEach((to,from)=>{ 
    to 即将要进入的到的路由,值为路由
    from 离开的路由(从哪个路由离开),值为路由
});

router.afterEach((to, from) => {
alert('我是后置钩子')
})

3、路由独享的守卫(在当前路由展示前触发)//在router.js

beforeEnter(to, from, next){ //在路由内部使用
    to 即将要进入的到的路由,值为路由
   from 离开的路由(从哪个路由离开),值为路由
   next 值为函数,这个函数决定你接下来要展示的路由页面
};

beforeEnter(to,from,next){
alert('非登录状态下无法管理,请登录');
next('/login');
}

 

4、组件内的守卫
beforeRouteEnter(to, from, next){ //在路由组件内使用
   //在当前路由被展示前调用
};
beforeRouteUpdate(to, from, next){ //在路由组件内使用
   //在当前路改变时调用
};
beforeRouteLeave(to, from, next){ //在路由组件内使用
   //在离开当前路时调用
};

beforeRouteEnter(to, from, next){	//在路由组件内使用
//在当前路由被展示前调用
//alert('你好!');
//alert(this.name); //报错,beforeRouteEnter不能够访问到this对象,因为守卫触发时组件还没有被创建
next(vm=>{
alert(vm.name);
});
},

离开页面时调用

 beforeRouteLeave (to, from, next) {
// 在离开当前路由时调用
const answer=confirm('你确定要离开么?')
if(answer){
next();
}else{
next(false);
}
}

  

最新文章

  1. php实现设计模式之 备忘录模式
  2. redis 原子增一的妙用
  3. PHP+Mysql+jQuery实现地图区域数据统计-展示数据
  4. Spring入门_02_属性注入
  5. 线程安全集合 ConcurrentDictionary<TKey, TValue> 类
  6. (hdu step 8.1.1)ACboy needs your help again!(STL中栈和队列的基本使用)
  7. 【转】CSS中position属性( absolute | relative | static | fixed )详解
  8. iOS AVCaptureDevice的一些动西
  9. event system
  10. NSXMLParser自定义的一个xml解析工具
  11. centos6 升级pip后导致pip不可用
  12. 微信JSSDK使用步骤(用于在微信浏览器中自定义分享,分享到朋友圈,拍照,扫一扫等功能)
  13. Qt551.主窗体Margin
  14. 小程序入门学习Demo
  15. DR、BDR、SBR、ASBR等名词的解释和原理
  16. vue style background
  17. 使用 CSS3 的 box-sizing 属性设置元素大小包含 border 与 padding
  18. 【RAY TRACING THE REST OF YOUR LIFE 超详解】 光线追踪 3-1 蒙特卡罗 (一)
  19. spring源码研究2 自定义标签实现及使用
  20. 16.Generator 函数的异步应用

热门文章

  1. 连接池中的maxIdle,MaxActive,maxWait参数
  2. 阶段5 3.微服务项目【学成在线】_day04 页面静态化_06-freemarker基础-遍历map数据
  3. 20190615 NACE关于采购订单的输出类型
  4. RocketMQ搭建-WEB集成RMQ-SE集成RMQ
  5. Oracle查询显示CLOB的内容
  6. CockroachDB学习笔记——[译]为什么Go语言是CockroachDB的正确选择
  7. 【FFMPEG】不要试图用msvc来编译ffmpeg
  8. OpenCV.3.4.6_VS2015&cmake编译x86版本的bin&lib
  9. grafana的metric的计算语句
  10. Linux 中文man手册安装