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 相关文章推荐
jquery $("#variable") 循环改变variable的值示例
Feb 23 Javascript
node.js中的fs.symlink方法使用说明
Dec 15 Javascript
jQuery实现带玻璃流光质感的手风琴特效
Nov 20 Javascript
整理Javascript数组学习笔记
Nov 29 Javascript
jQuery与JavaScript节点创建方法的对比
Nov 18 Javascript
微信小程序开发之大转盘 仿天猫超市抽奖实例
Dec 08 Javascript
vue侧边栏动态生成下级菜单的方法
Sep 07 Javascript
详解SPA中前端路由基本原理与实现方式
Sep 12 Javascript
在vue使用clipboard.js进行一键复制文本的实现示例
Jan 15 Javascript
详解微信小程序scroll-view横向滚动的实践踩坑及隐藏其滚动条的实现
Mar 14 Javascript
vue进入页面时滚动条始终在底部代码实例
Mar 26 Javascript
如何将Node.js中的回调转换为Promise
Nov 10 Javascript
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
探讨:如何通过stats命令分析Memcached的内部状态
2013/06/14 PHP
php动态生成缩略图并输出显示的方法
2015/04/20 PHP
用jQuery简化JavaScript开发分析
2009/02/19 Javascript
js或css实现滚动广告的几种方案
2010/01/28 Javascript
IE6下opacity与JQuery的奇妙结合
2013/03/01 Javascript
jquery实现邮箱自动补全功能示例分享
2014/02/17 Javascript
js中的事件捕捉模型与冒泡模型实例分析
2015/01/10 Javascript
Javascript中3个需要注意的运算符
2015/04/02 Javascript
深入分析jsonp协议原理
2015/09/26 Javascript
AngularJS身份验证的方法
2016/02/17 Javascript
简述Matlab中size()函数的用法
2016/03/20 Javascript
利用angular.copy取消变量的双向绑定与解析
2016/11/25 Javascript
简单实现jQuery多选框功能
2017/01/09 Javascript
BootStrap给table表格的每一行添加一个按钮事件
2017/09/07 Javascript
浅谈vue.js导入css库(elementUi)的方法
2018/03/09 Javascript
浅谈vue项目可以从哪些方面进行优化
2018/05/05 Javascript
layui禁用侧边导航栏点击事件的解决方法
2019/09/25 Javascript
JavaScript监听触摸事件代码实例
2019/12/30 Javascript
python多线程socket编程之多客户端接入
2017/09/12 Python
python实现机械分词之逆向最大匹配算法代码示例
2017/12/13 Python
无法使用pip命令安装python第三方库的原因及解决方法
2018/06/12 Python
Python爬虫包BeautifulSoup学习实例(五)
2018/06/17 Python
Python3.5基础之变量、数据结构、条件和循环语句、break与continue语句实例详解
2019/04/26 Python
python 寻找离散序列极值点的方法
2019/07/10 Python
Pytorch在NLP中的简单应用详解
2020/01/08 Python
Python requests模块基础使用方法实例及高级应用(自动登陆,抓取网页源码)实例详解
2020/02/14 Python
Numpy数组的广播机制的实现
2020/11/03 Python
Canvas实现放大镜效果完整案例分析(附代码)
2020/11/26 HTML / CSS
两则小学生的自我评价分享
2013/11/14 职场文书
预备党员的自我评价
2014/03/12 职场文书
银行先进个人事迹材料
2014/05/11 职场文书
客服专员岗位职责
2015/02/10 职场文书
golang 如何用反射reflect操作结构体
2021/04/28 Golang
Oracle表空间与权限的深入讲解
2021/11/17 Oracle
Java 写一个简单的图书管理系统
2022/04/26 Java/Android
详解Go语言中配置文件使用与日志配置
2022/06/01 Golang