Vue设置页面的title
原文地址: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相关推荐
- 动态改变vue项目页面的title
其实也没啥,就是一句代码的事,只不过看在哪里执行而已.这句代码是: document.title = "新题目"; 一.动态改变vue项目页面的title vue只是一个前端框架, ...
- .Net语言 APP开发平台——Smobiler学习日志:如何设置页面的title
1.修改Mobile Form的TitleText的属性 输入需要显示标题,如图1: 2.修改Mobile Form的TitleStyle属性 其中包括Image属性(窗体图标).BackColor属 ...
- vue 设置每个页面的title
vue 设置每个页面的title 由于vue文件中只有一个Index.html 文件 title 显示需要通过document.title来设置 1.router---index.js文件中添加met ...
- 使用vue-router设置每个页面的title
基本环境配置: webpack + vue2.0 + vue-router +nodeJS 进入 router 文件夹底下的index.js文件 首先引入: import Vue from 'vue' ...
- 页面的title为乱码的话需要修改jsp页面pageEncoding=UTF-8
页面的title为乱码的话需要修改jsp页面pageEncoding="UTF-8" 转载于:https://blog.51cto.com/javazyx/1301876
- 使用vue-router的meta实现 设置每个页面的title标题
1.实现效果(左上角title变化) 2.核心代码: 1.这里主要是 meta 属性下面设置一个自定义的键值 title 2.在前置导航守卫里面如下: router.beforeEach((to,fr ...
- android读取网页标题,如何获取WebView中页面的Title信息
应用开发中需要获取WebView当前页面的标题,可能通过对WebChromeClient.onReceivedTitle()方法的重写来实现 代码如下:public class MainActivit ...
- 修改html页面的title,可以自定义
方式一: document.getElementsByTagName("title")[0].innerText = '需要设置的值'; document.title方式 经过测试 ...
- 修改母版中页面的Title
三.修改母版页的内容.(原创:灰灰虫的家http://hi.baidu.com/grayworm) 当我们在运行不同的内容页面时,要求母版面的内容也会根据不同的内容页面发生不的变化时,如何做呢?比如, ...
- 利用JS响应式修改vue实现页面的input赋值
背景 公司有一个基于Vue实现的登录,页面上是一个常规的登录界面,用户名输入框.密码输入框和登录按钮各一个. 需求:拉起登录页面时,自动将用户帐号和密码填入,然后自动点击登录. 尝试 我们把登录页面简 ...
最新文章
- 面试官问:Integer 如何实现节约内存和提升性能的?
- 来自顶尖JAVA程序猿的焦虑,拒绝中年危机,唯有一生力学笃行
- select sqlite 唯一_SQLite Select 语句
- 基于遗传算法优化的BP神经网络的 非线性函数拟合
- (30)保护模式阶段测试
- CF590E-Birthday【AC自动机,最大独立集】
- 信息学奥赛一本通(1207:求最大公约数问题)
- mysql 错误等级_Mysql5.7 的错误日志中最常见的note级别日志解释
- python爬取小视频-40行代码教你利用Python网络爬虫批量抓取小视频
- 数据结构与算法LeetCode题目索引
- 案例:如何解决难以重现的BUG
- kaggle--猫狗数据集分类
- 华为p8升级android8系统资源,华为畅享8官方固件rom刷机包_畅享8完整版系统升级包下载...
- 专业商标制作,免费logo在线设计
- 基于HC-05蓝牙模块的STM32无线控制智能系统硬件开发
- 给你的App添加动画效果
- Sql 语句小课堂7:在sqlserver对多行数据实施随机数
- pci总线定时协议_PCI总线标准及协议
- THREADED_EXECUTION
- Windows10鼠标右键增加新项
热门文章
- Atitit 董事会主席董事长之道 attilax著 艾龙著 1. 董事会主席 会长董事长	1 1.1. 董事会职责	1 1.2. 董事长职权	2 1.3. 议事规则	2 1.4. 联系职位简称	3
- Atitit 理解Monad attilax总结Atiti
- paip.c3p0 数据库连接池 NullPointerException 的解决...
- paip.提升用户体验---c++ gcc 命令语法着色搭配方案
- 纳斯达克收购金融数据提供商Quandl
- 投资为什么很难进步——越不懂 越自信︱投资道
- 野村综合研究所李智慧:日本金融科技是制度先行而非技术先行
- Rust: flat_map、filter_map、for_each
- Rust : range,[],vec,array中元素的类别
- 阿里数据中台核心产品揭秘