Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Vue.js项目中管理每个页面的头部标签的方法

Vue.js项目中管理每个页面的头部标签的方法

作者头像
张张
修改于 2019-12-27 02:22:52
修改于 2019-12-27 02:22:52
1.9K00
代码可运行
举报
运行总次数:0
代码可运行

在 Vue SPA 应用中,如果想要修改 HTML 的头部标签,如页面的 title,我们只能去修改index.html模板文件,但是这个是全局的修改,如何为每个页面都设置不一样的 title 呢?下面介绍两种方法。

使用router.meta

路由里面配置每个路由的地址:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
routes: [
    { /* (首页)默认路由地址 */
        path: '/',
        name: 'Entrance',
        component: Entrance,
        meta: {
            title: '首页入口'
        }
    },
    { /* 修改昵称 */
        path: '/modifyName/:nickName',
        name: 'modifyName',
        component: modifyName,
        meta: {
            title: '修改昵称'
        }
    }
]

在每一个meta里面设置页面的title名字,最后在遍历

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
router.beforeEach((to, from, next) => {
    /* 路由发生变化修改页面title */
    if (to.meta.title) {
      document.title = to.meta.title
    }
    next();
});

这样就为每一个VUE 的页面添加了title。

使用vue-meta插件

vue-meta 主要用于管理 HMTL 头部标签,同时也支持 SSR。vue-meta有以下特点:

  • 在组件内设置 metaInfo,便可轻松实现头部标签的管理
  • metaInfo 的数据都是响应的,如果数据变化,头部信息会自动更新
  • 支持 SSR

在页面里面增加 metaInfo 选项

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
export default {
  data() {
    return {
      myTitle: '标题'
    }
  },
  metaInfo: {
    title: this.title,
    titleTemplate: '%s - by - vue-meta',
    htmlAttris: {
      lang: 'zh'
    },
    script: ''
  }
  ... ...
}

更多vue-meta使用请参考Github官网:https://github.com/declandewet/vue-meta

本文代表个人观点,内容仅供参考。若有不恰当之处,望不吝赐教!

本文链接:https://zhangbing.site/2018/06/24/vue-meta-and-vue-router/

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-06-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
使用vue-router设置独立title
使用vue-router设置独立title first: routes: [ { /* (首页)默认路由地址 */ path: '/', name: 'Entrance', component: Entrance, meta: { title: '首页入口' } }, { /* 修改昵称 */ path: '/modifyName/:nickName',
4O4
2022/04/25
5010
Vue-router设置每个页面的标题title
在main.js中加入 router.beforeEach((to, from, next) => { /* 路由发生变化修改页面title */ if (to.meta.title) { document.title = to.meta.title } next() }) 在router/index.js中每个路由配上一个标题 meta: { title: '图书列表信息' }, 例如: { path: '/Book', component: Book,
乐心湖
2020/07/31
1.7K0
从零开始学VUE之VueRouter(导航守卫)
进阶:https://router.vuejs.org/zh/guide/advanced/navigation-guards.html#%E7%BB%84%E4%BB%B6%E5%86%85%E7%9A%84%E5%AE%88%E5%8D%AB
彼岸舞
2021/07/01
2360
Vue路由以及SEO配置
hash模式对应的路由是类似于这个样子的 http://localhost:8080/#/about
码客说
2019/10/22
1.5K0
vue-router设置title名
利用vue-router可以开发单页面应用,但实际中每个视图都有自己的title名,这就要领用router的beforeEach去统一设置了
kirin
2020/12/28
8610
Vue使用router设置页面title
对需要单独设置页面title的路由,增加meta属性,在meta里面新增页面的title名字属性:
白衣少年
2023/04/24
2.4K0
Vue使用router设置页面title
网站SEO优化:Meta标签如何书写?Vue项目怎么优化Meta标签?
什么是Meta标签呢?这可不是最近很火的“元宇宙”或是FB。Meta标签,或者说Meta元素,是HTML内head标签的一部分。通常用于指定页面描述、关键字以及未在其他head元素、属性中提供的其他元数据。间接参与浏览器页面渲染,或者为搜索引擎的爬虫提供引导(进而让搜索引擎更好收录网站)。
Mintimate
2022/01/20
4.4K5
网站SEO优化:Meta标签如何书写?Vue项目怎么优化Meta标签?
Vue之Router(三)
  前面说过,当你使用 this.$router 获取的时候其实就是获取了 router 实例。
yuanshuai
2022/08/22
5290
Vue之Router(三)
从零搭建一个django项目-5-登录页面
复制LoginView.vue文件到我们项目的views文件夹下,修改路由文件将'/'地址和登录页面关联。
怪盗LYL
2022/06/13
1.1K0
从零搭建一个django项目-5-登录页面
vue路由登录拦截
在项目开发中每一次路由的切换或者页面的刷新都需要判断用户是否已经登录,前端可以判断,后端也会进行判断的,我们前端最好也进行判断。
py3study
2021/03/14
2.3K0
从零开始做网站5-前端vue项目全局路由和一些配置
vue项目创建好了并且集成了基础的后台管理系统,调用后端接口也调通了。接下来就是开发后台管理系统的其他功能了,首先就是把相关路由和一些基础工具配置一下。
sunonzj
2022/06/21
6780
从零开始做网站5-前端vue项目全局路由和一些配置
Vue学习-Vue router
在配置Vue-router时有两种模式,分别为:hash模式(默认)、history模式。
花猪
2022/02/17
4.6K0
Vue学习-Vue router
vue-router 导航(守卫)钩子
路由的导航守卫顾名思义就是控制路主要用来通过跳转或取消的方式守卫导航。总的来说总共有三种,分别是:
OECOM
2020/07/01
1K0
【Vue】如何动态的更新页面的Title
Vue文件的特殊性并不是一个html页面 以往我们在head里面通过设置meta title来改变页面的办法算是行不通了 可以用路由守卫 + VueRouter来实现 路由守卫相关文档 首先我们先要在main.js里加入路由守卫 // 页面修改时修改浏览器标签栏 router.beforeEach((to, from, next) => { if (to.meta.title) { document.title = to.meta.title } next() })
Hyejeong小DD
2018/10/09
3.2K1
vue修改浏览器的标题title
实现思路很简单:就是利用路由的导购守卫beforeEach在每次页面跳转前更改对应的title
kirin
2020/09/10
1.3K0
vue 知识总结
Vue是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。
Krry
2019/04/09
1.3K0
vue 知识总结
Vue 项目里戳中你痛点的问题及解决办法(下)
作者:愣锤 https://juejin.im/post/5b174de8f265da6e410e0b4e
Nealyang
2019/10/08
2.1K0
vue路由守卫(回顾)
路由跳转前做一些验证,比如登录验证,是网站中的普遍需求。对此,vue-route 提供的beforeRouteUpdate可以方便地实现导航守卫(navigation-guards)。官方定义:导航守卫(navigation-guards)。 文档地址:https://router.vuejs.org/zh/guide/advanced/navigation-guards.html
青梅煮码
2023/01/16
7400
Vue 项目中各种痛点问题及方案
原文:https://juejin.im/post/6844903632815521799
前端老王
2020/09/23
3.3K0
Vue 项目中各种痛点问题及方案
vue路由vue-router
步骤二:在模块化工程中使用它(因为是一个插件,所以可以通过Vue.use()来安装路由功能)
有勇气的牛排
2023/06/25
2230
相关推荐
使用vue-router设置独立title
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验