详解vue-router 2.0 常用基础知识点之导航钩子

发布时间 - 2026-01-11 01:03:52    点击率:

导航钩子

vue-router 提供的导航钩子主要用来拦截导航,让它完成跳转或取消。有多种方式可以在路由导航发生时执行钩子:全局的, 单个路由独享的, 或者组件级的。

全局钩子

const router = new VueRouter({ ... })
router.beforeEach((to, from, next) => {
  // do something 
  next();
});

router.afterEach((to, from, next) => {
  console.log(to.path);
});

每个钩子方法接收三个参数:

  1. to: Route : 即将要进入的目标 [路由对象]
  2. from: Route : 当前导航正要离开的路由
  3. next: Function : 一定要调用该方法来 resolve 这个钩子。执行效果依赖 next

方法的调用参数。

  1. next(): 进行管道中的下一个钩子。如果全部钩子执行完了,则导航的状态就是confirmed (确认的)。
  2. next(false): 中断当前的导航。如果浏览器的 URL 改变了(可能是用户手动或者浏览器后退按钮),那么 URL 地址会重置到 from
  3. 路由对应的地址。
  4. next('/') 或者 next({ path: '/' }): 跳转到一个不同的地址。当前的导航被中断,然后进行一个新的导航。

确保要调用 next方法,否则钩子就不会被 resolved。

组件内的钩子

let fromPath = '';
export default{
  beforeRouteEnter (to, from, next) {
     // 在渲染该组件的对应路由被 confirm 前调用
     // 不!能!获取组件实例 `this`
     // 因为当钩子执行前,组件实例还没被创建
     fromPath = from.path;
     next();
  },
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# vue  # router导航钩子  # vuerouter钩子  # vuerouter  # 导航钩子  # vue-router配合ElementUI实现导航的实例  # VueRouter导航守卫用法详解  # vue实现nav导航栏的方法  # vue实现导航栏效果(选中状态刷新不消失)  # vue 挂载路由到头部导航的方法  # vue2导航根据路由传值  # 而改变导航内容的实例  # vue-router路由与页面间导航实例解析  # vue router仿天猫底部导航栏功能  # 详解VueRouter进阶之导航钩子和路由元信息  # 详解使用Vue Router导航钩子与Vuex来实现后退状态保存  # vue-router 导航钩子的具体使用方法  # 详解vue.js移动端导航navigationbar的封装  # vue2.0实现导航菜单切换效果  # vue 和vue-touch 实现移动端左右导航效果(仿京东移动站导航)  # 非常实用的vue导航钩子  # vue2.0 elementUI制作面包屑导航栏  # 还没  # 跳转  # 让它  # 方法来  # 独享  # 有多种  # 大家多多  # 跳转到  # 道中  # 改变了  # js 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel怎么进行数据库事务处理_Laravel DB Facade事务操作确保数据一致性  详解阿里云nginx服务器多站点的配置  JavaScript中如何操作剪贴板_ClipboardAPI怎么用  Laravel怎么使用artisan命令缓存配置和视图  大连网站制作费用,大连新青年网站,五年四班里的视频怎样下载啊?  Laravel如何使用Socialite实现第三方登录?(微信/GitHub示例)  如何在阿里云服务器自主搭建网站?  深入理解Android中的xmlns:tools属性  Laravel怎么处理异常_Laravel自定义异常处理与错误页面教程  java获取注册ip实例  Laravel如何使用Blade模板引擎?(完整语法和示例)  Python制作简易注册登录系统  浅析上传头像示例及其注意事项  如何在万网开始建站?分步指南解析  如何登录建站主机?访问步骤全解析  Laravel怎么生成URL_Laravel路由命名与URL生成函数详解  如何在阿里云ECS服务器部署织梦CMS网站?  html如何与html链接_实现多个HTML页面互相链接【互相】  Laravel Sail是什么_基于Docker的Laravel本地开发环境Sail入门  Win11怎么更改系统语言为中文_Windows11安装语言包并设为显示语言  香港服务器租用费用高吗?如何避免常见误区?  晋江文学城电脑版官网 晋江文学城网页版直接进入  Laravel怎么判断请求类型_Laravel Request isMethod用法  Laravel如何使用Gate和Policy进行权限控制_Laravel权限判定与策略规则配置  儿童网站界面设计图片,中国少年儿童教育网站-怎么去注册?  Laravel如何实现多语言支持_Laravel本地化与国际化(i18n)配置教程  百度输入法ai组件怎么删除 百度输入法ai组件移除工具  如何用JavaScript实现文本编辑器_光标和选区怎么处理  Laravel storage目录权限问题_Laravel文件写入权限设置  如何用虚拟主机快速搭建网站?详细步骤解析  Linux网络带宽限制_tc配置实践解析【教程】  Laravel队列任务超时怎么办_Laravel Queue Timeout设置详解  作用域操作符会触发自动加载吗_php类自动加载机制与::调用【教程】  Laravel N+1查询问题如何解决_Eloquent预加载(Eager Loading)优化数据库查询  宙斯浏览器怎么屏蔽图片浏览 节省手机流量使用设置方法  如何获取PHP WAP自助建站系统源码?  如何在IIS中新建站点并配置端口与物理路径?  如何在阿里云通过域名搭建网站?  如何快速搭建FTP站点实现文件共享?  Linux系统运维自动化项目教程_Ansible批量管理实战  如何用手机制作网站和网页,手机移动端的网站能制作成中英双语的吗?  Laravel如何与Inertia.js和Vue/React构建现代单页应用  怎么制作网站设计模板图片,有电商商品详情页面的免费模板素材网站推荐吗?  Laravel如何实现API版本控制_Laravel API版本化路由设计策略  php结合redis实现高并发下的抢购、秒杀功能的实例  Laravel Seeder怎么填充数据_Laravel数据库填充器的使用方法与技巧  历史网站制作软件,华为如何找回被删除的网站?  猪八戒网站制作视频,开发一个猪八戒网站,大约需要多少?或者自己请程序员,需要什么程序员,多少程序员能完成?  Google浏览器为什么这么卡 Google浏览器提速优化设置步骤【方法】  PHP怎么接收前端传的文件路径_处理文件路径参数接收方法【汇总】