之前在单页面路由中,就只能在html文件中定一个固定的网站的title。若是想要动态的去修改,须要使用以下的方法。javascript
document.title = '这是一个标题';
这样会让咱们作不少无用功。显得十分蠢。html
首先打开/src/router/index.js文件。
找到以下代码。vue
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。而后将上述代码替换成以下代码。java
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进行修改。git
配置好了index.js以后咱们就须要去给每一个router配置本身的title了。例如。github
{ path: '/', name: 'Home', component: () => import('@/views/Home/Home'), meta: { title: '首页', }, }
给每一个路由加上一个叫meta的属性。meta属性里的属性叫title,也就是每一个路由独特的title了。加上以后,浏览器里每一个路由都会有本身设置好的title了。浏览器
欢迎光临 我的博客网站