广告
返回顶部
首页 > 资讯 > 前端开发 > html >vue导航钩子怎么用
  • 227
分享到

vue导航钩子怎么用

2024-04-02 19:04:59 227人浏览 八月长安
摘要

这篇文章将为大家详细讲解有关Vue导航钩子怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。导航钩子正如其名,vue-router 提供的导航钩子主要用来拦截导航,让它

这篇文章将为大家详细讲解有关Vue导航钩子怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

导航钩子

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

全局钩子

你可以使用 router.beforeEach 注册一个全局的 before 钩子:

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

当一个导航触发时,全局的 before 钩子按照创建顺序调用。钩子是异步解析执行,此时导航在所有钩子 resolve 完之前一直处于等待中。

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

to: Route: 即将要进入的目标 路由对象

from: Route: 当前导航正要离开的路由

next: Function: 一定要调用该方法来 resolve 这个钩子。执行效果依赖 next 方法的调用参数。

next(): 进行管道中的下一个钩子。如果全部钩子执行完了,则导航的状态就是confirmed (确认的)。

next(false): 中断当前的导航。如果浏览器的 URL 改变了(可能是用户手动或者浏览器后退按钮),那么 URL 地址会重置到 from 路由对应的地址。

next('/') 或者 next({ path: '/' }): 跳转到一个不同的地址。当前的导航被中断,然后进行一个新的导航。

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

同样可以注册一个全局的 after 钩子,不过它不像 before 钩子那样,after 钩子没有next 方法,不能改变导航:

router.afterEach(route => {
 // ...
})

某个路由独享的钩子

你可以在路由配置上直接定义 beforeEnter 钩子:

const router = new VueRouter({
 routes: [
 {
  path: '/foo',
  component: Foo,
  beforeEnter: (to, from, next) => {
  // ...
  }
 }
 ]
})

这些钩子与全局 before 钩子的方法参数是一样的。

组件内的钩子

最后,你可以使用 beforeRouteEnter 和 beforeRouteLeave,在路由组件内直接定义路由导航钩子,

const Foo = {
 template: `...`,
 beforeRouteEnter (to, from, next) {
 // 在渲染该组件的对应路由被 confirm 前调用
 // 不!能!获取组件实例 `this`
 // 因为当钩子执行前,组件实例还没被创建
 },
 beforeRouteLeave (to, from, next) {
 // 导航离开该组件的对应路由时调用
 // 可以访问组件实例 `this`
 }
}

beforeRouteEnter 钩子 不能 访问 this,因为钩子在导航确认前被调用,因此即将登场的新组件还没被创建。

不过,你可以通过传一个回调给 next来访问组件实例。在导航被确认的时候执行回调,并且把组件实例作为回调方法的参数。

beforeRouteEnter (to, from, next) {
 next(vm => {
 // 通过 `vm` 访问组件实例
 })
}

你可以 在 beforeRouteLeave 中直接访问 this。这个 leave 钩子通常用来禁止用户在还未保存修改前突然离开。可以通过 next(false) 来取消导航。

关于“vue导航钩子怎么用”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

--结束END--

本文标题: vue导航钩子怎么用

本文链接: https://www.lsjlt.com/news/78441.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • vue导航钩子怎么用
    这篇文章将为大家详细讲解有关vue导航钩子怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。导航钩子正如其名,vue-router 提供的导航钩子主要用来拦截导航,让它...
    99+
    2022-10-19
  • vue-router导航钩子怎么用
    这篇文章主要介绍vue-router导航钩子怎么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!vue-router 提供的导航钩子主要用来拦截导航,让它完成跳转或取消。全局钩子1、...
    99+
    2022-10-19
  • vue-router的导航钩子怎么用
    这篇文章主要讲解了“vue-router的导航钩子怎么用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“vue-router的导航钩子怎么用”吧! vue-...
    99+
    2022-10-19
  • 怎么理解Vue-Router中的导航钩子
    这篇文章主要讲解了“怎么理解Vue-Router中的导航钩子”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么理解Vue-Router中的导航钩子”吧!导航守卫“导航”表示路由正在发生改变。...
    99+
    2023-06-25
  • vue的导航钩子有哪些及怎么使用
    本篇内容主要讲解“vue的导航钩子有哪些及怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“vue的导航钩子有哪些及怎么使用”吧!vue的导航钩子有3种:1、全局守卫钩子,是指路由示例上直接...
    99+
    2023-07-04
  • vue的导航钩子有哪几个
    本教程操作环境:windows7系统、vue3版,DELL G3电脑。导航钩子的作用vue-router提供的导航钩子主要用来拦截导航,让它完成跳转或取消。导航钩子的分类全局守卫路由独享守卫局部守卫1、全局守卫是指路由示例上直接操作的钩子函...
    99+
    2023-05-14
    导航钩子 Vue
  • vue-router的导航钩子有哪些
    vue-router的导航钩子有:1.全局导航钩子;2.组件内的钩子;3.单独路由独享组。vue-router的导航钩子有三种,分别是:1.全局导航钩子;2.组件内的钩子;3.单独路由独享组,主要是用来拦截导航,让他完成跳转或取消,以下是导...
    99+
    2022-10-06
  • Vue中钩子函数怎么用
    小编给大家分享一下Vue中钩子函数怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!在Vue 中可以把一系列复杂的操作包装为一...
    99+
    2022-10-19
  • vue中的mounted钩子怎么用
    这篇文章主要为大家展示了“vue中的mounted钩子怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“vue中的mounted钩子怎么用”这篇文章吧。注:阅读本文需要对vue的patch流程...
    99+
    2023-06-29
  • vue钩子是什么
    这篇文章主要讲解了“vue钩子是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“vue钩子是什么”吧!在vue中,钩子指的是“hook”,是一种事件劫持机制,可以比事件更早进行执行处理;钩...
    99+
    2023-06-29
  • Vue中callHook钩子函数怎么调用
    这篇“Vue中callHook钩子函数怎么调用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Vue中callHook钩子函数...
    99+
    2023-07-04
  • vue怎么实现导航
    本文小编为大家详细介绍“vue怎么实现导航”,内容详细,步骤清晰,细节处理妥当,希望这篇“vue怎么实现导航”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。使用$route.path设置默认选中的导航,但是设置之后...
    99+
    2023-07-04
  • Vue导航守卫怎么使用
    这篇文章主要介绍“Vue导航守卫怎么使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Vue导航守卫怎么使用”文章能帮助大家解决问题。守卫参数to: 即将要进入的目标路由from: 当前导航即将要离...
    99+
    2023-07-06
  • 怎么自定义Vue钩子函数
    这篇文章主要讲解了“怎么自定义Vue钩子函数”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么自定义Vue钩子函数”吧!useWindowResize这是一个基本的钩子,因为它被用在很多项目...
    99+
    2023-06-29
  • vue的导航守卫怎么使用
    这篇文章主要讲解了“vue的导航守卫怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“vue的导航守卫怎么使用”吧! 导航守...
    99+
    2022-10-19
  • Vue中钩子函数有什么用
    这篇文章给大家分享的是有关Vue中钩子函数有什么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Vue-Router导航守卫有的时候,我们需要通过路由来进行一些操作,比如最常见的...
    99+
    2022-10-19
  • VueRouter进阶之导航钩子和路由元信息的示例分析
    这篇文章主要介绍了VueRouter进阶之导航钩子和路由元信息的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。导航钩子vue-rou...
    99+
    2022-10-19
  • vue-router的导航守卫怎么使用
    这篇文章主要介绍了vue-router的导航守卫怎么使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇vue-router的导航守卫怎么使用文章都会有所收获,下面我们一起来看看吧。前言在浏览器中点击链接实现导航...
    99+
    2023-07-04
  • vue钩子函数的作用是什么
    Vue钩子函数的作用是在组件生命周期的不同阶段执行特定的代码逻辑。它们使开发者能够在组件的不同生命周期阶段进行自定义操作,以满足不同...
    99+
    2023-08-08
    vue
  • vue的生命周期钩子函数怎么应用
    本篇内容介绍了“vue的生命周期钩子函数怎么应用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!在vue中,生命周期钩子函数指的是当生命周期经...
    99+
    2023-06-29
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作