zoukankan      html  css  js  c++  java
  • 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 修改页面头部信息

    参考

    -------------------------------------------------------------------------------------------------------------------------------------------------------------
    学习本是一个不断模仿、练习、创新、超越的过程。 由于博主能力有限,文中可能存在描述不正确,欢迎指正、补充! 感谢您的阅读,麻烦动动手指点个推荐哟。
    -------------------------------------------------------------------------------------------------------------------------------------------------------------
    作者:Levy-伟
             
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    关于写页面时容易发生的问题
    用wamp实现前端和php的交互效果
    原生封装的ajax
    用angular引入复杂的json文件2
    用angular引入复杂的json文件
    vue属性
    vue的事件
    require'模块化jquery和angular问题
    css3在页面中插入内容
    css3+javascript实现翻页幻灯片
  • 原文地址:https://www.cnblogs.com/levywang/p/13532079.html
Copyright © 2011-2022 走看看