原文地址:http://www.cnblogs.com/JimmyBright/p/7410771.html

前端框架如Vue、React等都是单页面的应用,也就是说整个web站点其实都是一个index页面,所谓的页面跳转都是替换index.html里边的内容,而页面的title是在每个页面初始化的时候才设置一次。对于现在的前端框架,传统的每个页面设置title标签的做法是不行的。

下面是在Vue框架下,利用路由来设置title的思路,当然还有别的方法。

先看项目目录

router的index.js代码如下:

1 import Vue          from 'vue'
2 import Router       from 'vue-router'
3 import signProtocol from '@/components/pages/signProtocol'
4 import personInfo   from '@/components/pages/personInfo'
5 import uploadPhoto  from '@/components/pages/uploadPhoto'
6 import utils        from '@/lib/utils'
7 Vue.use(Router)8 var router= newRouter({9   mode:'history',10 routes: [11 {12       path: '/',13       name: 'uploadPhoto',14       title:'上传身份证',15 component: uploadPhoto,16 },17 {18       path:'/personinfo',19       name:'personInfo',20       title:'提交信息',21 component:personInfo22 },23 {24       path:'/signprotocol',25       name:'signProtocol',26       title:'签署协议',27 component:signProtocol28 }29 ]30 })31 router.beforeEach((to, from, next) =>{32 next()33 });34 router.afterEach((transition)=>{35   let name =transition.name36   let item = router.options.routes.filter((ele)=>{return ele.name ==name})37   console.log(item[0].title)38   utils.setTitle(item[0].title)39 })40 export default router;

router/index.js

代码中在router中增加了参数title,在路由结束钩子afterEach里取到对应页面的title,再设置上去就可以了

需要用到的utils里的方法如下:

1 import axios from 'axios';2 const SCREEN_WIDTH =document.body.clientWidth3 const SCREEN_HEIGHT=document.body.scrollHeight4 functionservice_sidi(url,body,successCallback,errorCallBack){5   axios.post(process.env.Host_url+url,body).then(function(result){6 successCallback(result)7   },function(error){errorCallBack(error)})8 }9 functionservice_jz(url,body,successCallback,errorCallBack){10   axios.post(process.env.Host_url+url,body).then(function(result){11 successCallback(result)12   },function(error){errorCallBack(error)})13 }14 functionsetTitle(title) {15   document.title =title16   var mobile =navigator.userAgent.toLowerCase()17   if (/iphone|ipad|ipod/.test(mobile)) {18     var iframe = document.createElement('iframe')19     iframe.style.display = 'none'
20     //iframe.setAttribute('src', '')
21     var iframeCallback = function() {22       setTimeout(function() {23         iframe.removeEventListener('load', iframeCallback)24 document.body.removeChild(iframe)25       }, 0)26 }27     iframe.addEventListener('load', iframeCallback)28 document.body.appendChild(iframe)29 }30 }31 var obj={32 service_sidi:service_sidi,33 service_jz:service_jz,34 SCREEN_WIDTH:SCREEN_WIDTH,35 SCREEN_HEIGHT:SCREEN_HEIGHT,36 setTitle:setTitle37 }38 export default obj;

lib/utils/index.js

转载于:https://www.cnblogs.com/JimmyBright/p/7410771.html

Vue设置页面的title相关推荐

  1. 动态改变vue项目页面的title

    其实也没啥,就是一句代码的事,只不过看在哪里执行而已.这句代码是: document.title = "新题目"; 一.动态改变vue项目页面的title vue只是一个前端框架, ...

  2. .Net语言 APP开发平台——Smobiler学习日志:如何设置页面的title

    1.修改Mobile Form的TitleText的属性 输入需要显示标题,如图1: 2.修改Mobile Form的TitleStyle属性 其中包括Image属性(窗体图标).BackColor属 ...

  3. vue 设置每个页面的title

    vue 设置每个页面的title 由于vue文件中只有一个Index.html 文件 title 显示需要通过document.title来设置 1.router---index.js文件中添加met ...

  4. 使用vue-router设置每个页面的title

    基本环境配置: webpack + vue2.0 + vue-router +nodeJS 进入 router 文件夹底下的index.js文件 首先引入: import Vue from 'vue' ...

  5. 页面的title为乱码的话需要修改jsp页面pageEncoding=UTF-8

    页面的title为乱码的话需要修改jsp页面pageEncoding="UTF-8" 转载于:https://blog.51cto.com/javazyx/1301876

  6. 使用vue-router的meta实现 设置每个页面的title标题

    1.实现效果(左上角title变化) 2.核心代码: 1.这里主要是 meta 属性下面设置一个自定义的键值 title 2.在前置导航守卫里面如下: router.beforeEach((to,fr ...

  7. android读取网页标题,如何获取WebView中页面的Title信息

    应用开发中需要获取WebView当前页面的标题,可能通过对WebChromeClient.onReceivedTitle()方法的重写来实现 代码如下:public class MainActivit ...

  8. 修改html页面的title,可以自定义

    方式一: document.getElementsByTagName("title")[0].innerText = '需要设置的值'; document.title方式 经过测试 ...

  9. 修改母版中页面的Title

    三.修改母版页的内容.(原创:灰灰虫的家http://hi.baidu.com/grayworm) 当我们在运行不同的内容页面时,要求母版面的内容也会根据不同的内容页面发生不的变化时,如何做呢?比如, ...

  10. 利用JS响应式修改vue实现页面的input赋值

    背景 公司有一个基于Vue实现的登录,页面上是一个常规的登录界面,用户名输入框.密码输入框和登录按钮各一个. 需求:拉起登录页面时,自动将用户帐号和密码填入,然后自动点击登录. 尝试 我们把登录页面简 ...

最新文章

  1. 面试官问:Integer 如何实现节约内存和提升性能的?
  2. 来自顶尖JAVA程序猿的焦虑,拒绝中年危机,唯有一生力学笃行
  3. select sqlite 唯一_SQLite Select 语句
  4. 基于遗传算法优化的BP神经网络的 非线性函数拟合
  5. (30)保护模式阶段测试
  6. CF590E-Birthday【AC自动机,最大独立集】
  7. 信息学奥赛一本通(1207:求最大公约数问题)
  8. mysql 错误等级_Mysql5.7 的错误日志中最常见的note级别日志解释
  9. python爬取小视频-40行代码教你利用Python网络爬虫批量抓取小视频
  10. 数据结构与算法LeetCode题目索引
  11. 案例:如何解决难以重现的BUG
  12. kaggle--猫狗数据集分类
  13. 华为p8升级android8系统资源,华为畅享8官方固件rom刷机包_畅享8完整版系统升级包下载...
  14. 专业商标制作,免费logo在线设计
  15. 基于HC-05蓝牙模块的STM32无线控制智能系统硬件开发
  16. 给你的App添加动画效果
  17. Sql 语句小课堂7:在sqlserver对多行数据实施随机数
  18. pci总线定时协议_PCI总线标准及协议
  19. THREADED_EXECUTION
  20. Windows10鼠标右键增加新项

热门文章

  1. Atitit 董事会主席董事长之道 attilax著 艾龙著 1. 董事会主席 会长董事长 1 1.1. 董事会职责 1 1.2. 董事长职权 2 1.3. 议事规则 2 1.4. 联系职位简称 3
  2. Atitit 理解Monad attilax总结Atiti
  3. paip.c3p0 数据库连接池 NullPointerException 的解决...
  4. paip.提升用户体验---c++ gcc 命令语法着色搭配方案
  5. 纳斯达克收购金融数据提供商Quandl
  6. 投资为什么很难进步——越不懂 越自信︱投资道
  7. 野村综合研究所李智慧:日本金融科技是制度先行而非技术先行
  8. Rust: flat_map、filter_map、for_each
  9. Rust : range,[],vec,array中元素的类别
  10. 阿里数据中台核心产品揭秘