利用vue-router可以開發單頁面應用,但實際中每個視圖都有自己的title名,這就要領用router的beforeEach去統一設置了
在router文件夾下的index.js中設置
//====================
import Vue from 'vue'
import Router from 'vue-router'
// 首頁
const Home = () =>import('@/pages/home') //vue頁面使用懶加載 減少首次vue項目的加載時間
//列表頁
const List= () =>import('@/pages/list')
Vue.use(Router)
const router = new Router({
routes: [
{
path: '/',
name: 'index',
meta: { title: "我是首頁" },
component: Index
},
{
path:'/',
name:'list',
meta:{ title:"我是列表頁" },
component: List
}
]
})
router.beforeEach((to, from, next) => {//beforeEach是router的鈎子函數,在進入路由前執行
if (to.meta.title) {//判斷是否有標題
document.title = to.meta.title
}
next()//執行進入路由,如果不寫就不會進入目標頁
})
export default router