vue 导航守卫
2024-10-06 17:01:21
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);
}
}
最新文章
- php实现设计模式之 备忘录模式
- redis 原子增一的妙用
- PHP+Mysql+jQuery实现地图区域数据统计-展示数据
- Spring入门_02_属性注入
- 线程安全集合 ConcurrentDictionary<;TKey, TValue>; 类
- (hdu step 8.1.1)ACboy needs your help again!(STL中栈和队列的基本使用)
- 【转】CSS中position属性( absolute | relative | static | fixed )详解
- iOS AVCaptureDevice的一些动西
- event system
- NSXMLParser自定义的一个xml解析工具
- centos6 升级pip后导致pip不可用
- 微信JSSDK使用步骤(用于在微信浏览器中自定义分享,分享到朋友圈,拍照,扫一扫等功能)
- Qt551.主窗体Margin
- 小程序入门学习Demo
- DR、BDR、SBR、ASBR等名词的解释和原理
- vue style background
- 使用 CSS3 的 box-sizing 属性设置元素大小包含 border 与 padding
- 【RAY TRACING THE REST OF YOUR LIFE 超详解】 光线追踪 3-1 蒙特卡罗 (一)
- spring源码研究2 自定义标签实现及使用
- 16.Generator 函数的异步应用
热门文章
- 连接池中的maxIdle,MaxActive,maxWait参数
- 阶段5 3.微服务项目【学成在线】_day04 页面静态化_06-freemarker基础-遍历map数据
- 20190615 NACE关于采购订单的输出类型
- RocketMQ搭建-WEB集成RMQ-SE集成RMQ
- Oracle查询显示CLOB的内容
- CockroachDB学习笔记——[译]为什么Go语言是CockroachDB的正确选择
- 【FFMPEG】不要试图用msvc来编译ffmpeg
- OpenCV.3.4.6_VS2015&;cmake编译x86版本的bin&;lib
- grafana的metric的计算语句
- Linux 中文man手册安装