欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

使用vue-router为每个路由配置各自的title

程序员文章站 2022-03-21 15:37:31
传统方法 以前在单页面路由中,就只能在html文件中定一个固定的网站的title。如果想要动态的去修改,需要使用如下的方法。 document.title = '这是一...

传统方法

以前在单页面路由中,就只能在html文件中定一个固定的网站的title。如果想要动态的去修改,需要使用如下的方法。

document.title = '这是一个标题';

这样会让我们做很多无用功。显得十分蠢。

使用vue-router的方法

首先打开/src/router/index.js文件。

找到如下代码。

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。然后将上述代码替换成如下代码。

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了。例如。

{
 path: '/',
 name: 'home',
 component: () => import('@/views/home/home'),
 meta: {
  title: '首页',
 },
}

给每个路由加上一个叫meta的属性。meta属性里的属性叫title,也就是每个路由独特的title了。加上之后,浏览器里每个路由都会有自己设置好的title了。

总结

以上所述是小编给大家介绍的使用vue-router为每个路由配置各自的title,希望对大家有所帮助