vue修改网站标题title的三种方法

本文介绍了在Vue.js项目中更改网站标题的三种方法:一是通过创建Vue.directive全局指令;二是利用路由的beforeEach导航守卫设置meta信息;三是安装vue-wechat-title插件并进行配置使用。

方法一

  调用Vue.directive()

1.main.js里面添加一个全局指令

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

2.调用的组件里面,随便找一个div加入,v-title data-title="你的标题"

<template>
    <div v-title data-title="标题">
     ......
    </div>
</template>

方法二

利用路由的导航守卫beforeEach在每次页面跳转前更改对应的title

1.router中给每个路由加上meta属性

{
            path: '/login',
            name: 'login',
            component(resolve) {
                require(['./views/login.vue'], resolve)
            },
            meta: {
                title: '登录页',
                keepAlive: true, // 需要被缓存
            }
}

2.在main.js里面加上导航守卫

router.beforeEach((to, from, next) => {
    //路由发生改变时,触发
    window.document.title = to.meta.title == undefined ? '默认标题' : to.meta.title
    if (to.meta.requireAuth) {        
        let token = Cookies.get('access_token');        
        let anonymous = Cookies.get('user_name');        
        if (token) {                             
             next({                    
                 path: '/login',  
                 query: {       
                     redirect: to.fullPath                    
                 }
             })             
        } 
    }    
    next();
})

方法三

1.安装插件 npm install vue-wechat-title  --save

2.引入插件,main.js中import

import VueWechatTitle from 'vue-wechat-title'
Vue.use(VueWechatTitle)

3.路由配置文件router.js里面配置的页面标题

routers: [{
    path: '/',
    name: 'index',
    component: Index,
    meta: {
        title: 'title'
    }
}]

4.app.vue里面添加指令v-wechat-title即可


<!-- 任意元素中加 v-wechat-title 指令 建议将标题放在 route 对应meta对象的定义中 --><div v-wechat-title="$route.meta.title"></div>
<!--或者-->
<router-view v-wechat-title="$route.meta.title"></router-view>
//来自官方npm页面

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值