vue 動(dòng)態(tài)給每個(gè)頁面添加title、關(guān)鍵詞和描述的方法
前言:直接寫html加title和關(guān)鍵詞想必大家都知道怎么去加,但用vue框架開發(fā)的項(xiàng)目我們怎么去動(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),評估師培訓(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: ''
}
}
},
這里我們再router.js里沒進(jìn)行關(guān)鍵詞的填寫,因?yàn)樗泻脦讉€(gè)不同城市加載,我們可以在對應(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ū)孫河地鐵站對面弘園五號創(chuàng)意生活園A5,聯(lián)系方式13021253543,北京教研中心。')
document.title = '恩啟IDEA·北京教研中心-直營連鎖-恩啟官網(wǎng)';
}else if(orgUrl == 'shanghai'){
document.querySelector('meta[name="keywords"]').setAttribute('content','上海靜安教研中心,恩啟教研中心,IEDA教研中心');
document.querySelector('meta[name="description"]').setAttribute('content', '恩啟IDEA靜安中心坐落于上海市大寧中心廣場,毗鄰大寧音樂中心,交通便利,生活便捷。');
document.title='恩啟IDEA·上海靜安教研中心-直營連鎖-恩啟官網(wǎng)';
}
這樣設(shè)置就ok了;
總結(jié)
到此這篇關(guān)于vue 動(dòng)態(tài)給每個(gè)頁面添加title、關(guān)鍵詞和描述的方法的文章就介紹到這了,更多相關(guān)vue 添加title、關(guān)鍵詞和描述內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Vue全家桶實(shí)踐項(xiàng)目總結(jié)(推薦)
本篇文章主要介紹了Vue全家桶實(shí)踐項(xiàng)目總結(jié)(推薦),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-11-11
vue ElementUI的from表單實(shí)現(xiàn)登錄效果的示例
本文主要介紹了vue ElementUI的from表單實(shí)現(xiàn)登錄效果的示例,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-09-09
Vue淺析講解動(dòng)態(tài)組件與緩存組件及異步組件的使用
這篇文章主要介紹了Vue開發(fā)中的動(dòng)態(tài)組件與緩存組件及異步組件的使用教程,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-09-09
基于Vue實(shí)現(xiàn)可以拖拽的樹形表格實(shí)例詳解
因業(yè)務(wù)需求,需要一個(gè)樹形表格,并且支持拖拽排序,任意未知插入,github搜了下,真不到合適的,大部分樹形表格都沒有拖拽功能,所以決定自己實(shí)現(xiàn)一個(gè)。這里分享一下實(shí)現(xiàn)過程,需要的朋友可以參考下2018-10-10
vue中計(jì)算屬性computed理解說明包括vue偵聽器,緩存與computed的區(qū)別
這篇文章主要介紹了對vue中計(jì)算屬性computed理解說明包括vue偵聽器,緩存與computed的區(qū)別,需要的朋友可以參考下2022-05-05
Vue簡易版無限加載組件實(shí)現(xiàn)原理與示例代碼
這篇文章主要給大家介紹了關(guān)于Vue簡易版無限加載組件實(shí)現(xiàn)原理與示例代碼的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用vue具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2022-07-07
詳解Vue改變數(shù)組中對象的屬性不重新渲染View的解決方案
這篇文章主要介紹了詳解Vue改變數(shù)組中對象的屬性不重新渲染View的解決方案,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-09-09
Vue2?this?能夠直接獲取到?data?和?methods?的原理分析
這篇文章主要介紹了Vue2?this能夠直接獲取到data和methods的原理分析,因?yàn)閙ethods里的方法通過bind指定了this為new?Vue的實(shí)例2022-06-06

