vue 動(dòng)態(tài)給每個(gè)頁面添加title、關(guān)鍵詞和描述的方法
前言:直接寫html加title和關(guān)鍵詞想必大家都知道怎么去加,但用vue框架開發(fā)的項(xiàng)目我們?cè)趺慈?dòng)態(tài)的給每個(gè)頁面添加呢 ↓
先在router.js里面配置我們的title、關(guān)鍵詞和描述
{
path: '/train',
name: 'Train',
component: () => import('../components/page/Train.vue'),
meta: {
title: '教師培訓(xùn)-恩啟官網(wǎng)',
content: {
keywords: '教師培訓(xùn)、恩啟培訓(xùn)、恩啟云課堂、特教老師、線上服務(wù)、徐紫薇、王學(xué)鋼',
description: '恩啟教師培訓(xùn)專注于自閉癥行業(yè)教師專業(yè)技能提升培訓(xùn),評(píng)估師培訓(xùn)。為自閉癥康復(fù)教師提供科學(xué)、系統(tǒng)的在線課程、咨詢服務(wù)。'
}
}
},
在main.js里用beforeEach(前置守衛(wèi))判斷
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()
});
這樣就行了。
后續(xù)補(bǔ)充:vue的特點(diǎn)呢就是組件系統(tǒng)跟數(shù)據(jù)驅(qū)動(dòng),嗯,是特別方便的,比如我們一個(gè)組件里根據(jù)路由狀態(tài)值判斷初始化加載不同的頁面(比如在前一個(gè)頁面有三個(gè)按鈕:北京、上海、深圳)點(diǎn)擊進(jìn)去不同的城市頁面,但我們的頁面都是用的同一個(gè)組件,如下路由配置:↓
{
path: '/cityDetail',
name: 'CityDetail',
component: () => import('../components/page/CityDetail.vue'),
meta: {
title: '',
content: {
keywords: '',
description: ''
}
}
},
這里我們?cè)賠outer.js里沒進(jìn)行關(guān)鍵詞的填寫,因?yàn)樗泻脦讉€(gè)不同城市加載,我們可以在對(duì)應(yīng)的組件里加個(gè)判斷
if(orgUrl == 'beijing'){
document.querySelector('meta[name="keywords"]').setAttribute('content', '北京教研中心,恩啟教研中心,IEDA教研中心')
document.querySelector('meta[name="description"]').setAttribute('content', '恩啟誕生于2014年 ,是一家專業(yè)的自閉癥康復(fù)機(jī)構(gòu)。北京教研中心,位于北京市朝陽區(qū)孫河地鐵站對(duì)面弘園五號(hào)創(chuàng)意生活園A5,聯(lián)系方式13021253543,北京教研中心。')
document.title = '恩啟IDEA·北京教研中心-直營(yíng)連鎖-恩啟官網(wǎng)';
}else if(orgUrl == 'shanghai'){
document.querySelector('meta[name="keywords"]').setAttribute('content','上海靜安教研中心,恩啟教研中心,IEDA教研中心');
document.querySelector('meta[name="description"]').setAttribute('content', '恩啟IDEA靜安中心坐落于上海市大寧中心廣場(chǎng),毗鄰大寧音樂中心,交通便利,生活便捷。');
document.title='恩啟IDEA·上海靜安教研中心-直營(yíng)連鎖-恩啟官網(wǎng)';
}
這樣設(shè)置就ok了;
總結(jié)
到此這篇關(guān)于vue 動(dòng)態(tài)給每個(gè)頁面添加title、關(guān)鍵詞和描述的方法的文章就介紹到這了,更多相關(guān)vue 添加title、關(guān)鍵詞和描述內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
vue-socket.io接收不到數(shù)據(jù)問題的解決方法
這篇文章主要介紹了解決vue-socket.io接收不到數(shù)據(jù)問題的解決方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-05-05
在vue中使用echarts(折線圖的demo,markline用法)
這篇文章主要介紹了在vue中使用echarts(折線圖的demo,markline用法),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-07-07
Vue如何實(shí)現(xiàn)利用vuex永久儲(chǔ)存數(shù)據(jù)
這篇文章主要介紹了Vue如何實(shí)現(xiàn)利用vuex永久儲(chǔ)存數(shù)據(jù)問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-04-04
Vue實(shí)現(xiàn)動(dòng)態(tài)查詢規(guī)則生成組件
今天我們來給大家介紹下在Vue開發(fā)中我們經(jīng)常會(huì)碰到的一種需求場(chǎng)景,本文主要介紹了Vue動(dòng)態(tài)查詢規(guī)則生成組件,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-05-05
Vue輸入框狀態(tài)切換&自動(dòng)獲取輸入框焦點(diǎn)的實(shí)現(xiàn)方法
這篇文章主要介紹了Vue輸入框狀態(tài)切換&自動(dòng)獲取輸入框焦點(diǎn)的實(shí)現(xiàn),本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-05-05
如何解決npm i下載依賴的時(shí)候出現(xiàn)某依賴版本沖突
這篇文章主要介紹了如何解決npm i 下載依賴的時(shí)候出現(xiàn)某依賴版本沖突問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-03-03
Vue為什么要謹(jǐn)慎使用$attrs與$listeners
這篇文章主要介紹了Vue為什么要謹(jǐn)慎使用$attrs與$listeners,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08
vue搜索高亮popsearch組件的實(shí)現(xiàn)示例
有時(shí)候給頁面內(nèi)容添加一個(gè)關(guān)鍵詞搜索功能,如果搜索結(jié)果能夠像瀏覽器搜索一樣高亮顯示,那找起來就會(huì)很明顯體驗(yàn)會(huì)好很多,本文就來介紹一下vue搜索高亮popsearch組件的實(shí)現(xiàn)示例,感興趣的可以了解一下2023-09-09

