利用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()//执行进入路由,如果不写就不会进入目标页
})