前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Vue.js项目中管理每个页面的头部标签的方法

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

作者头像
张张
修改2019-12-27 10:22:52
1.8K0
修改2019-12-27 10:22:52
举报
文章被收录于专栏:前端全栈开发者

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

使用router.meta

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

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

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

代码语言:javascript
复制
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
复制
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 删除。

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 使用router.meta
  • 使用vue-meta插件
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档