不同页面有不同的 title
,那么如何动态改变 title
的值呢?
涉及到两个文件的修改:src/main.js
和 src/router/index.js
。
1. 在 main.js
文件中注册一个全局的前置守卫:
router.beforeEach(function (to, from, next) {
if (to.meta.title) {
document.title = to.meta.title;
// 确保调用 next(),否则不会跳转
} else {
// 如果没有,也可以用个默认的
document.title = "默认名称";
}
next();
});
router.beforeEach
的参数:
to
: 要跳转的目标路由对象from
: 当前要离开的路由对象next
: 是个函数,确保要调用,否则不会跳转
2. 在 index.js
文件中增加 meta
属性:
const routes = [
{
path: '/',
name: 'home',
component: HomeView,
// 要增加的 meta 属性
meta: {
title: '首页'
}
},
{
path: '/ClassifyView',
name: 'ClassifyView',
component: () => import('../views/ClassifyView.vue'),
// 要增加的 meta 属性
meta: {
title: '商品分类'
}
}
];
评论区