使用vue-router为每个路由配置各自的title
时间:2022-06-25 15:52:31 编辑:袖梨 来源:一聚教程网
传统方法
以前在单页面路由中,就只能在html文件中定一个固定的网站的title。如果想要动态的去修改,需要使用如下的方法。
document.title = '这是一个标题';
这样会让我们做很多无用功。显得十分蠢。
使用Vue-Router的方法
首先打开/src/router/index.js文件。
找到如下代码。
1 2 3 4 5 6 7 8 9 10 11 12 13 | const vueRouter = new Router({ routes, mode: 'history' , linkActiveClass: 'active-link' , linkExactActiveClass: 'exact-active-link' , scrollBehavior (to, from, savedPosition) { if (savedPosition) { return savedPosition; } else { return { x: 0, y: 0 }; } }, }); |
vueRouter只是一个变量名。叫什么可以根据你自己项目的命名来找,只要是Router实例化的一个对象就OK。然后将上述代码替换成如下代码。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | const vueRouter = new Router({ routes, mode: 'history' , linkActiveClass: 'active-link' , linkExactActiveClass: 'exact-active-link' , scrollBehavior (to, from, savedPosition) { if (savedPosition) { return savedPosition; } 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了。例如。
1 2 3 4 5 6 7 8 | { path: '/' , name: 'Home' , component: () => import( '@/views/Home/Home' ), meta: { title: '首页' , }, } |
给每个路由加上一个叫meta的属性。meta属性里的属性叫title,也就是每个路由独特的title了。加上之后,浏览器里每个路由都会有自己设置好的title了。
相关文章
- 《弓箭传说2》新手玩法介绍 01-16
- 《地下城与勇士:起源》断桥烟雨多买多送活动内容一览 01-16
- 《差不多高手》醉拳龙技能特点分享 01-16
- 《鬼谷八荒》毕方尾羽解除限制道具推荐 01-16
- 《地下城与勇士:起源》阿拉德首次迎新春活动内容一览 01-16
- 《差不多高手》情圣技能特点分享 01-16