【朋友亲测面试题】web前端开发

本文详细介绍了Vue-router的全局钩子函数,包括beforeEach和afterEach的使用及其应用场景,如页面跳转拦截。同时讨论了v-if与v-show、v-for与v-if的组合使用及区别,以及foreach与for循环的选择。还涉及浅拷贝与深拷贝的概念以及JavaScript的事件循环机制。
摘要由CSDN通过智能技术生成

vue-router的钩子函数

路由钩子函数分为三种类型如下:

1. 全局钩子函数

主要包括beforeEach(全局前置守卫)和aftrEach(全局后置守卫)

beforeEach的钩子函数,它是一个全局的before 钩子函数,意思是在 每次每一个路由改变的时候都得执行一遍。

它的三个参数:

to: (Route路由对象) 即将要进入的目标 路由对象 to对象下面的属性: path params query hash fullPath matched name meta(在matched下,但是本例可以直接用)

from: (Route路由对象) 当前导航正要离开的路由

next: (Function函数) 一定要调用该方法来 resolve 这个钩子。 调用方法:next(参数或者空) ***必须调用

next(无参数的时候): 进行管道中的下一个钩子,如果走到最后一个钩子函数,那么 导航的状态就是 confirmed (确认的)

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

应用场景:可进行一些页面跳转前处理,例如判断需要登录的页面进行拦截,做登录跳转!!

在这里插入图片描述
afterEach函数不用传next()函数
router.beforeEach 是页面加载之前,相反router.afterEach是页面加载之后
举例: 通过跳转后改变document.title
router.afterEach((to, from) => {
    if( to.meta.title ){
      window.document.title = to.meta.title //每个路由下title
    }else{
      window.document.title = ‘默认的title’
    }
  })

2.单个路由里面的钩子

主要用于写某个指定路由跳转时需要执行的逻辑

  {
   
                    path: '/dashboard',
                    component: resolve => require(['../components/page/Dashboard.vue'], resolve)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值