vue實現路由切換改變title

2021-08-21 10:00:00 字數 1219 閱讀 2836

由於vue專案通常是單頁應用,因此在入口檔案index.html只有乙個title,單頁所展示的若干頁面只是隨著路由的切換而在同乙個index.html上不同的渲染而已,因此此時的title屬性是不會隨著頁面的切換而變更的

那麼想實現路由切換title變換可以通過vue-router的導航守衛來實現,最簡單的的目錄結構可如下所示

├── index.html

├── main.js

├── api

│ └── ... # 抽取出api請求

├── common

│ └── constants.js //title值

├── components

│ ├── helloworld.vue

│ ├── test.vue

│ ├── user.vue

│ └── ...

├── router

│ └── index.js

下面主要就是vue-router的內容了,其他頁面級別的內容無關緊要

router/index.js內容如下:

import vue from 'vue'

import router from 'vue-router'

import constants from '../common/constants'

vue.use(router)

const router = new router(,,

component: reslove => require(['../components/test'], reslove)

},,}]

})//導航後置守衛,可以在確定導航到目標頁面時再更改title

router.aftereach((to, from) => )

export default router;

在這裡使用全域性後置守衛來對路由切換進行統一操作,全域性前置守衛在正常情況下也可以,但是如果出現導航一半終止掉,會出現頁面沒有被渲染為目標導航頁面,但是title以及被替換掉了,因此這裡使用全域性後置守衛是相對穩妥的,由上面可以看出實際的關鍵**也就三行,其他照舊

constants.js的內容如下:

export default
只是簡單將物件匯出

關於導航守衛不清楚的可以參考我的另外一篇部落格vue-router導航守衛

vue 修改路由名字 Vue 路由設定title

1.在index.js中為需要新增title的路由位址增加meta 引入vue import vue from vue 引入router import router from vue router 引入元件 import index from components index import foun...

vue路由切換終止請求

問題 在spa模式開發當中,比如vue 當前路由切換的時候如何終止正在發生的非同步請求呢,結果 假如請求超時並且有設定超時時間。有一堆的非同步請求在執行,當使用者切換到另乙個頁面,這些請求還未終止,並且當伺服器響應之後,反饋的結果不是當前頁面所期待的。最終會誤導使用者造成一些不必要的結果。也給web...

Vue路由的切換動效

如果需要路由有過渡動畫,需要在 router view 標籤的外部新增 transition 標籤,如果有多個 router view 標籤則需在外部新增 transition group 同時標籤還需要乙個name屬性並為每乙個元件設定乙個key值。元件過渡過程中,會有css類名進行切換,類名與t...