之前在單頁面路由中,就只能在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了。瀏覽器
歡迎光臨 我的博客網站