如何用vue-router爲每一個路由配置各自的title

傳統方法

之前在單頁面路由中,就只能在html文件中定一個固定的網站的title。若是想要動態的去修改,須要使用以下的方法。javascript

document.title = '這是一個標題';

這樣會讓咱們作不少無用功。顯得十分蠢。html

使用Vue-Router的方法

首先打開/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了。瀏覽器

歡迎光臨 我的博客網站

相關文章
相關標籤/搜索