使用vue-router为每个路由配置各自的title
传统方法
以前在单页面路由中,就只能在html文件中定一个固定的网站的title。如果想要动态的去修改,需要使用如下的方法。
document.title='这是一个标题';
这样会让我们做很多无用功。显得十分蠢。
使用Vue-Router的方法
首先打开/src/router/index.js文件。
找到如下代码。
constvueRouter=newRouter({
routes,
mode:'history',
linkActiveClass:'active-link',
linkExactActiveClass:'exact-active-link',
scrollBehavior(to,from,savedPosition){
if(savedPosition){
returnsavedPosition;
}else{
return{x:0,y:0};
}
},
});
vueRouter只是一个变量名。叫什么可以根据你自己项目的命名来找,只要是Router实例化的一个对象就OK。然后将上述代码替换成如下代码。
constvueRouter=newRouter({
routes,
mode:'history',
linkActiveClass:'active-link',
linkExactActiveClass:'exact-active-link',
scrollBehavior(to,from,savedPosition){
if(savedPosition){
returnsavedPosition;
}else{
return{x:0,y:0};
}
},
});
vueRouter.beforeEach((to,from,next)=>{
/*路由发生变化修改页面title*/
if(to.meta.title){
document.title=to.meta.title;
}
next();
});
代码的逻辑就是在路由将要发生变化的时候,用传统的方法来对每个将要跳转到的路由的title进行修改。
配置路由
配置好了index.js之后我们就需要去给每个router配置自己的title了。例如。
{
path:'/',
name:'Home',
component:()=>import('@/views/Home/Home'),
meta:{
title:'首页',
},
}
给每个路由加上一个叫meta的属性。meta属性里的属性叫title,也就是每个路由独特的title了。加上之后,浏览器里每个路由都会有自己设置好的title了。
总结
以上所述是小编给大家介绍的使用vue-router为每个路由配置各自的title,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!