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

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

1

2

3

4

5

6

7

8

//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

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

//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

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

//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 修改页面头部信息

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值