在Vue中,獲取網頁頭信息(Head)是很常見的需求。在一些場景中,我們需要動態的改變網頁的標題,Meta 信息,或者是Favicon 等等。Vue提供了很方便的方法來獲取當前的網頁頭信息。
在使用Vue進行開發時,我們可以使用Vue 的 mixin(混入)和Vue Router的生命周期函數來獲取網頁頭信息。
import Vue from 'vue'
import VueRouter from 'vue-router'
Vue.use(VueRouter)
const router = new VueRouter({
routes: [
{
path: '/',
component: Home,
meta: {
title: '首頁 | Vue'
}
}
]
})
router.beforeEach((to, from, next) => {
if (to.meta.title) {
document.title = to.meta.title
}
next()
})
在上述代碼中,我們通過Vue Router的beforeEach函數來獲取Meta信息中的標題,并將其設置為網頁的標題。我們可以通過在Vue Router的routes中添加meta信息來動態地改變網頁的標題信息。
除了通過Vue Router來獲取網頁頭信息以外,我們還可以使用Vue mixin方法來獲取網頁頭信息。
export default {
created() {
const title = this.$options.metaInfo.title
document.title = title || '默認標題'
}
}
在這段代碼中,我們通過Vue 的mixin來實現的。首先我們在 Vue 的組件中定義metaInfo屬性,這個屬性是一個對象。該對象中包含了我們需要的網頁頭信息,例如標題信息。然后在created生命周期函數中,我們可以使用$option屬性來獲取metaInfo中的標題信息,并將其設置為網頁的標題。如果metaInfo屬性中沒有包含標題信息,則我們就將標題設置為“默認標題”。
上一篇ajax異步查詢用戶信息
下一篇css能加文字特效