vue-router-全局导航守卫-改变组件时自动更改网页标题

需求:

在这里插入图片描述当点击首页时,上面显示首页;点击关于时,上面显示关于。

解决方法一:

  1. 这里显示的是title在这里插入图片描述
  2. 生命周期函数
    created(){}当组件被创建时会回调这个生命周期函数
    mounted(){}当template模板相关的东西被挂载到DOM上面时回调这个生命周期函数
    updated(){}在页面发生更新时执行这个生命周期函数
    这里我们只需要使用created(){}
    在这里插入图片描述
  3. 将所有组件都添加上,就可以实现需求在这里插入图片描述

解决方法二:

上面的方法很麻烦,代码复用性不高而且不利于维护,下面是较简便的方法

  1. 在路由映射中定义meta,meta中定义title名称在这里插入图片描述
  2. 使用router中的beforeEach方法(导航钩子),这里的next()一定要写,否则会报错
导航钩子的三个参数解析
to:即将要进入的目标的路由对象
from:当前导航即将要离开的路由对象
next:调用该方法后,才能进入下一个钩子

在这里插入图片描述
3. 可以显示在这里插入图片描述
4. 但是有一个bug,刚进来时会显示undefined 在这里插入图片描述
5. 我们进入首页组件中,打印一下this.$route,可以看到meta为空在这里插入图片描述
6. 我们进入到matched中,进入第一个,可以找到meta: {title: "首页"}在这里插入图片描述
7. 所以说,我们需要改一下在这里插入图片描述
8. 这样就可以了在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值