Vue3 动态修改页面的title

在Vue项目中,通过在路由的`index.js`文件中添加路由守卫`beforeEach`,可以实现在每次跳转页面时动态设置`window.document.title`为当前页面的标题。首先创建并导出路由器实例,然后在`beforeEach`钩子中更新标题,确保代码位于`createRouter`和`export default router`之间。每个子路由需配置`meta`属性,包含页面标题。这样,每个子路由切换时,浏览器标题将随之更新。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在路由的 index.js 文件内添加如下代码:

注意!以下代码必须写在 const router 和 export default router 之间,否则会报错。

router.beforeEach((to, from, next) => {
  window.document.title = to.meta.title
  next()
})

完整版:

const router = createRouter({
  history: createWebHistory(process.env.BASE_URL),
  routes
})

router.beforeEach((to, from, next) => {
  window.document.title = to.meta.title
  next()
})

export default router

之后,再去设置每个子路由页的标题即可,在每个子路由对象中添加 meta 属性:

      {
        path: '/main',
        name: 'main',
        component: Main,
        meta: { title: '首页' }
      }

效果图如下:

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值