欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

vue动态设置页面title的方法实例

程序员文章站 2022-03-15 09:53:45
本文主要介绍了vue动态修改title的方法,需要的朋友可以参考学习,方法如下:1.通过自定义指令去修改(单个修改比较好)//1.在main.js 页面里添加自定义指令vue.directive('t...

本文主要介绍了vue动态修改title的方法,需要的朋友可以参考学习,方法如下:

1.通过自定义指令去修改(单个修改比较好)

//1.在main.js 页面里添加自定义指令
vue.directive('title', {//单个修改标题
 inserted: function (el, binding) {
 document.title = el.dataset.title
 }
})
//2.在需要修改的页面里添加v-title 指令
<div v-title data-title="我是新的标题"></div>.

2.使用插件 vue-wechat-title

//1.安装插件
npm vue-wechat-title --save
//2.在main.js里面引入插件
import vuewechattitle from 'vue-wechat-title'//动态修改title
vue.use(vuewechattitle)
//3.在路由里面 添加title
   routes: [{
   path: '/login',
   component: login,
   meta: {
    title: '登录'
   }
  }, {
   path: '/home',
   component: home,
   meta: {
    title: '首页'
   }
  },]

//4.在app.vue 中添加 指令 v-wechat-title
<router-view v-wechat-title='$route.meta.title' />

3.通过 router.beforeeach 导航守卫来修改

//1.在router的index里写自己的路径和title
const router = new router({
 routes: [
  {
   path: '/login',
   component: login,
   meta: {
    title: '登录',
   },
  },
  {
   path: '/home',
   component: home,
   meta: {
    title: '首页',
   },
  },
 ],
})
//2.使用router.beforeeach对路由进行遍历,设置title
router.beforeeach((to, from, next) => {
 //beforeeach是router的钩子函数,在进入路由前执行
 if (to.meta.title) {
  //判断是否有标题
  console.log(to.meta.title)
  document.title = to.meta.title
 } else {
  document.title = '默认title'
 }
 next()
})

4.使用 vue-mate 修改 title

https://github.com/declandewet/vue-meta 文档中比较详细地说明了在浏览器端和服务器端如何使用 vue-meta 修改页面头部信息

总结

到此这篇关于vue动态设置页面title的文章就介绍到这了,更多相关vue动态设置页面title内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

相关标签: vue 动态 title