vue动态编辑网页title方法

1.路由全局守卫:

router.beforeEach((to, from, next) => {
  /* 路由发生变化修改页面title */
  if (to.meta.title) {
    document.title = to.meta.title
  }
  next()
})

   路由配置:meta中自定义title就行

{
    path: '/home',
    meta: {
      title: 'home'
    },
    component: () => import('../views/Home.vue')
  },

2.利用vue自定义指令:

补充一下vue.config.js配置的方法:此方法一次性修改,用于所有页面公用一个title的情况,

相当于直接修改index.html的title标签,(不过逼格高点 = =)

 chainWebpack: config => {
    config
      .plugin('html')
      .tap(args => {
        console.log(args);
        args[0].title = '自定义title'
        return args
      })
  },

自定义指令方法:main.js加入

Vue.directive('title', {
  inserted: function (el, binding) {
    document.title = el.dataset.title
  }
})

在需要切换title展示的组件中任意一个div中添加v-title data-title="自定义title" 当该组件被调用渲染时title即相应改变,功能和路由全局守卫一致

 <div class="left_title" v-title data-title="江山市社会治理中心"></div>

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值