vue如何修改浏览器的标题title

 更新时间:2023年10月30日 08:59:04   作者:代码无边,回头是岸  
这篇文章主要介绍了vue如何修改浏览器的标题title问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

方法一

第一步:在main.js里面添加一个全局指令

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

第二步:在要调用的组件里面,随便找一个div加入如下代码

v-title data-title="我的"

案例:

<template>
    <header class="header_home user_reg" v-title data-title=""> 
   <div class="top_box hidden-xs"> 
    <div class="container"> 
      <router-link to="/" class="logo"> 
        <img src="../../../assets/image/5b10f166c3332.png" alt="" /> 
      </router-link> 
     <ul class="navs">
        <li>
            <router-link to="/regist">注册</router-link>
        </li> 
        <li>
          <router-link to="/login">登录</router-link>
        </li> 
        <li>
          <router-link to="/CooperUser">合作平台</router-link>
        </li> 
     </ul> 
    </div> 
   </div> 
  </header>
</template>

方法二

实现思路很简单:就是利用路由的导购守卫beforeEach在每次页面跳转前更改对应的title

第一步:首先在route里面给每个路由加上meta属性

{
            path: '/login',
            name: 'login',
            component(resolve) {
                require(['./views/login.vue'], resolve)
            },
            meta: {
                title: '登录页',
                keepAlive: true, // 需要被缓存
            }
        },
        {
            path: '/regist',
            name: 'regist',
            component(resolve) {
                require(['./views/regist.vue'], resolve)
            },
            meta: {
                title: '注册页',
                keepAlive: true, // 需要被缓存
            }
        },
        {
            path: '/newList',
            name: 'newlist',
            component(resolve) {
                require(['./views/newsList.vue'], resolve)
            },
            meta: {
                title: '新闻列表',
                keepAlive: true, // 需要被缓存
            }
        }

第二步:在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.先安装插件,命令行执行cnpm install vue-wechat-title --save即可安装。 

2.引用插件,在main.js中,首先import然后再use即可,

具体代码如下:

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

3.在路由的配置文件router.js里面配置我们想要的页面标题,

代码示例如下:

routes: [{
            path: '/',
            name: 'index',
            component: Index,
            meta: {
                title: "漫岛-一个有趣的网站"
            }
        },
        {
            path: '/recruit',
            name: 'recruit',
            component: Recruit,
            meta: {
                title: "漫岛-团队伙伴招募"
            }
        }
    ]

4.最后一步,在app.vue里面添加指令v-wechat-title即可,示例是从官方npm页面copy的,请注意注释部分不要破坏使用规则。

具体如下:

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

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Element 默认勾选表格 toggleRowSelection的实现

    Element 默认勾选表格 toggleRowSelection的实现

    这篇文章主要介绍了Element 默认勾选表格 toggleRowSelection的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-09-09
  • Vue3项目的3种创建方式代码示例

    Vue3项目的3种创建方式代码示例

    使用VUE3开发很久了,但一直没进行总结和记录,忙里偷闲整理搭建一套VUE3项目,正好记录一下,这篇文章主要给大家介绍了关于Vue3项目的3种创建方式,需要的朋友可以参考下
    2024-03-03
  • 浅谈vue引入css,less遇到的坑和解决方法

    浅谈vue引入css,less遇到的坑和解决方法

    下面小编就为大家分享一篇浅谈vue引入css,less遇到的坑和解决方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-01-01
  • 在vue中实现antd的动态主题的代码示例

    在vue中实现antd的动态主题的代码示例

    在需求开发阶段,鉴于项目采用了antd作为基础组件库,确保组件外观与antd一致变得尤为重要,这包括颜色、字体大小及尺寸等样式的统一,然而,截至当前antd-vue尚未实现这一便捷的CSS变量特性,但理解其背后的实现机制后,我们可以自行构建这一功能,需要的朋友可以参考下
    2024-07-07
  • Vue3组件不发生变化如何监听pinia中数据变化

    Vue3组件不发生变化如何监听pinia中数据变化

    这篇文章主要给大家介绍了关于Vue3组件不发生变化如何监听pinia中数据变化的相关资料,pinia是Vue的存储库,它允许您跨组件/页面共享状态,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2023-11-11
  • Avue 组件库的使用初体验

    Avue 组件库的使用初体验

    这篇文章主要为大家介绍了Avue 组件库的使用示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-08-08
  • 在Vue2中注册全局组件的两种方法详解

    在Vue2中注册全局组件的两种方法详解

    这篇文章主要介绍了在Vue2中注册全局组件的两种方法,非常的细致,需要的朋友可以参考下
    2022-07-07
  • vue使用jsonp抓取qq音乐数据的方法

    vue使用jsonp抓取qq音乐数据的方法

    这篇文章主要介绍了vue使用jsonp抓取qq音乐数据的方法,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-06-06
  • vue19 组建 Vue.extend component、组件模版、动态组件 的实例代码

    vue19 组建 Vue.extend component、组件模版、动态组件 的实例代码

    这篇文章主要介绍了vue19 组建 Vue.extend component、组件模版、动态组件 的实例代码,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-04-04
  • Intellij IDEA搭建vue-cli项目的方法步骤

    Intellij IDEA搭建vue-cli项目的方法步骤

    这篇文章主要介绍了Intellij IDEA搭建vue-cli项目的方法步骤,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-10-10

最新评论