vue 动态给每个页面添加title、关键词和描述的方法


Posted in Javascript onAugust 28, 2020

前言:直接写html加title和关键词想必大家都知道怎么去加,但用vue框架开发的项目我们怎么去动态的给每个页面添加呢 ↓

先在router.js里面配置我们的title、关键词和描述

{
		path: '/train',
		name: 'Train',
		component: () => import('../components/page/Train.vue'),
		meta: {
			title: '教师培训-恩启官网',
			content: {
				keywords: '教师培训、恩启培训、恩启云课堂、特教老师、线上服务、徐紫薇、王学钢',
				description: '恩启教师培训专注于自闭症行业教师专业技能提升培训,评估师培训。为自闭症康复教师提供科学、系统的在线课程、咨询服务。'
			}
		}
	},

 在main.js里用beforeEach(前置守卫)判断

router.beforeEach((to, from, next) => {
	if (to.meta.content) {
		let head = document.getElementsByTagName('head');
		let meta = document.createElement('meta');
		document.querySelector('meta[name="keywords"]').setAttribute('content', to.meta.content.keywords)
		document.querySelector('meta[name="description"]').setAttribute('content', to.meta.content.description)
		meta.content = to.meta.content;
		head[0].appendChild(meta)
	}
	if (to.meta.title) {
		document.title = to.meta.title;
	}
	next()
});

这样就行了。

后续补充:vue的特点呢就是组件系统跟数据驱动,嗯,是特别方便的,比如我们一个组件里根据路由状态值判断初始化加载不同的页面(比如在前一个页面有三个按钮:北京、上海、深圳)点击进去不同的城市页面,但我们的页面都是用的同一个组件,如下路由配置:↓

{
		path: '/cityDetail',
		name: 'CityDetail',
		component: () => import('../components/page/CityDetail.vue'),
		meta: {
			title: '',
			content: {
				keywords: '',
				description: ''
			}
		}
	},

这里我们再router.js里没进行关键词的填写,因为他有好几个不同城市加载,我们可以在对应的组件里加个判断

if(orgUrl == 'beijing'){
 document.querySelector('meta[name="keywords"]').setAttribute('content', '北京教研中心,恩启教研中心,IEDA教研中心')
 document.querySelector('meta[name="description"]').setAttribute('content', '恩启诞生于2014年 ,是一家专业的自闭症康复机构。北京教研中心,位于北京市朝阳区孙河地铁站对面弘园五号创意生活园A5,联系方式13021253543,北京教研中心。')
 document.title = '恩启IDEA·北京教研中心-直营连锁-恩启官网';
}else if(orgUrl == 'shanghai'){
	 document.querySelector('meta[name="keywords"]').setAttribute('content','上海静安教研中心,恩启教研中心,IEDA教研中心');
  document.querySelector('meta[name="description"]').setAttribute('content', '恩启IDEA静安中心坐落于上海市大宁中心广场,毗邻大宁音乐中心,交通便利,生活便捷。');
  document.title='恩启IDEA·上海静安教研中心-直营连锁-恩启官网';
}

这样设置就ok了;

总结

到此这篇关于vue 动态给每个页面添加title、关键词和描述的方法的文章就介绍到这了,更多相关vue 添加title、关键词和描述内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
JavaScript 闭包在封装函数时的简单分析
Nov 28 Javascript
Javascript学习笔记6 prototype的提出
Jan 11 Javascript
js获取当前日期代码适用于网页头部
Jun 27 Javascript
JavaScript格式化日期时间的方法和自定义格式化函数示例
Apr 04 Javascript
javascript中字符串拼接详解
Sep 26 Javascript
设计模式中的组合模式在JavaScript程序构建中的使用
May 18 Javascript
jQuery实现选项卡功能(两种方法)
Mar 08 Javascript
vue项目在安卓低版本机显示空白的原因分析(两种)
Sep 04 Javascript
jQuery模拟html下拉多选框的原生实现方法示例
May 30 jQuery
Vue 中 filter 与 computed 的区别与用法解析
Nov 21 Javascript
微信小程序返回上一级页面的实现代码
Jun 19 Javascript
jquery实现鼠标悬浮弹出气泡提示框
Dec 23 jQuery
vue-cli+webpack项目打包到服务器后,ttf字体找不到的解决操作
Aug 28 #Javascript
vue select 获取value和lable操作
Aug 28 #Javascript
VSCode 添加自定义注释的方法(附带红色警戒经典注释风格)
Aug 27 #Javascript
js实现弹幕飞机效果
Aug 27 #Javascript
jQuery编写QQ简易聊天框
Aug 27 #jQuery
jQuery实现简单QQ聊天框
Aug 27 #jQuery
js实现前端界面导航栏下拉列表
Aug 27 #Javascript
You might like
WINXP下apache+php4+mysql
2006/11/25 PHP
Discuz 模板语句分析及知识技巧
2009/08/21 PHP
php.ini中date.timezone设置分析
2011/07/29 PHP
七款最流行的PHP本地服务器分享
2013/02/19 PHP
PHP实现变色验证码实例
2014/01/06 PHP
Mac版PhpStorm之XAMPP整合apache服务器配置的图文教程详解
2016/10/13 PHP
docker-compose部署php项目实例详解
2019/07/30 PHP
通过js脚本复制网页上的一个表格的不错实现方法
2006/12/29 Javascript
jquery 延迟执行实例介绍
2013/08/20 Javascript
jquery选择器-根据多个属性选择示例代码
2013/10/21 Javascript
Google 地图叠加层实例讲解
2016/08/06 Javascript
Bootstrap基本组件学习笔记之列表组(11)
2016/12/07 Javascript
ajax异步请求详解
2017/01/06 Javascript
Angularjs单选改为多选的开发过程及问题解析
2017/02/17 Javascript
详解React之父子组件传递和其它一些要点
2018/06/25 Javascript
vue v-for循环重复数据无法添加问题解决方法【加track-by='索引'】
2019/03/15 Javascript
Node.js API详解之 string_decoder用法实例分析
2020/04/29 Javascript
在HTML中使用JavaScript的两种方法
2020/12/24 Javascript
JavaScript实现点击切换验证码及校验
2021/01/10 Javascript
linux系统使用python获取cpu信息脚本分享
2014/01/15 Python
Python下载懒人图库JavaScript特效
2015/05/28 Python
Python实现求两个csv文件交集的方法
2017/09/06 Python
Python魔法方法 容器部方法详解
2020/01/02 Python
python实现对变位词的判断方法
2020/04/05 Python
Python类成员继承重写的实现
2020/09/16 Python
CSS3的Flexbox布局的简明入门指南
2016/04/08 HTML / CSS
Java中实现多态的机制
2015/08/09 面试题
DBA数据库管理员JAVA程序员架构师必看
2016/02/07 面试题
农行实习自我鉴定
2013/09/22 职场文书
金融专业大学生职业生涯规划范文
2014/01/16 职场文书
医生爱岗敬业演讲稿
2014/08/26 职场文书
学生违纪检讨书200字
2014/10/21 职场文书
催款函范本大全
2015/06/24 职场文书
单位车辆管理制度
2015/08/05 职场文书
浅析Django接口版本控制
2021/06/26 Python
Winsows11性能如何? win11性能测评多核竟比Win10差了10%
2021/11/21 数码科技