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 相关文章推荐
ymPrompt的doHandler方法来实现获取子窗口返回值的方法
Jun 25 Javascript
复制小说文本时出现的随机乱码的去除方法
Sep 07 Javascript
基于jQuery实现的水平和垂直居中的div窗口
Aug 08 Javascript
当达到输入长度时表单自动切换焦点
Apr 06 Javascript
jquery图片切换实例分析
Apr 15 Javascript
浅谈javascript中new操作符的原理
Jun 07 Javascript
jQuery操作iframe中js函数的方法小结
Jul 06 Javascript
AngularJs  Understanding Angular Templates
Sep 02 Javascript
JS如何设置元素样式的方法示例
Aug 28 Javascript
使用Node搭建reactSSR服务端渲染架构
Aug 30 Javascript
vue动态绘制四分之三圆环图效果
Sep 03 Javascript
js闭包的9个使用场景
Dec 29 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
MySQL 日期时间函数常用总结
2012/06/12 PHP
深入理解PHP中的Streams工具
2015/07/03 PHP
Laravel框架中VerifyCsrfToken报错问题的解决
2017/08/30 PHP
JavaScript库 开发规则
2009/01/31 Javascript
基于JQuery 的消息提示框效果代码
2011/07/31 Javascript
JQUERY实现左侧TIPS滑进滑出效果示例
2013/06/27 Javascript
浅谈js中变量初始化
2015/02/03 Javascript
React实现双向绑定示例代码
2016/09/19 Javascript
详解Vue.js搭建路由报错 router.map is not a function
2017/06/27 Javascript
用JS实现简单的登录验证功能
2017/07/28 Javascript
实现两个文本框同时输入的实例
2017/09/25 Javascript
解决easyui日期时间框ie的兼容的问题
2018/03/01 Javascript
vue实现图片上传预览功能
2019/12/23 Javascript
Node.js API详解之 util模块用法实例分析
2020/05/09 Javascript
[57:53]DOTA2上海特级锦标赛主赛事日 - 2 败者组第二轮#3OG VS VP
2016/03/03 DOTA
详解MySQL数据类型int(M)中M的含义
2016/11/20 Python
python基础教程之五种数据类型详解
2017/01/12 Python
matplotlib绘制动画代码示例
2018/01/02 Python
Python序列循环移位的3种方法推荐
2018/04/09 Python
Django高级编程之自定义Field实现多语言
2019/07/02 Python
决策树剪枝算法的python实现方法详解
2019/09/18 Python
pytorch 查看cuda 版本方式
2020/06/23 Python
css3实现的下拉菜单效果示例
2014/01/22 HTML / CSS
匡威帆布鞋美国官网:Converse美国
2016/08/22 全球购物
巴西男士胡须和头发护理产品商店:Beard
2017/11/13 全球购物
Europcar德国:全球汽车租赁领域的领导者
2018/08/15 全球购物
PHP面试题及答案二
2015/05/23 面试题
加油口号大全
2014/06/13 职场文书
机关副主任个人四风问题整改措施
2014/09/26 职场文书
2014年审计人员工作总结
2014/12/19 职场文书
2015年公司工作总结
2015/04/25 职场文书
2019军训心得体会
2019/06/27 职场文书
python文本处理的方案(结巴分词并去除符号)
2021/05/26 Python
剧场版《转生恶役只好拔除破灭旗标》公开最新视觉图 2023年上映
2022/04/02 日漫
零基础学java之带返回值的方法的定义和调用
2022/04/10 Java/Android
基于docker安装zabbix的详细教程
2022/06/05 Servers