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

    互联网/前端 90次点击 · 1196天前 · 林教练
不加班神器—数据透视表的使用方法和操作步骤?Excel 中只显示公式不显示结果数值怎么办? 林教练

1条回答我要回复

    紫苏1196天前

      在 Vue SPA 应用中,如果想要修改 HTML 的头部标签,如页面的 title,我们只能去修改index.html模板文件,但是这个是全局的修改,如何为每个页面都设置不一样的 title 呢?下面介绍两种方法
       
      一、使用router.meta在路由里面配置每个路由的地址:routes: [
      { /* (首页)默认路由地址 */
      path: '/',
      name: 'Entrance',
      component: Entrance,
      meta: {
      title: '首页入口'
      }
      },
      { /* 修改昵称 */
      path: '/modifyName/:nickName',
      name: 'modifyName',
      component: modifyName,
      meta: {
      title: '修改昵称'
      }
      }
      ]在每一个meta里面设置页面的title名字,最后在遍历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 选项export default {
      data() {
      return {
      myTitle: '标题'
      }
      },
      metaInfo: {
      title: this.title,
      titleTemplate: '%s - by - vue-meta',
      htmlAttris: {
      lang: 'zh'
      },
      script: ''
      }
      ... ...
      }更多vue-meta使用请参考Github官网

    请先登录后,再回复