現(xiàn)在很多web網(wǎng)站都采用了SPA單頁應用,單頁面有很多優(yōu)點:用戶體驗好荐吉、應用響應快焙糟、對服務器壓力小 等等。同時也有一些缺點:首次加載資源太多样屠,不利于SEO穿撮,前進、后退痪欲、地址欄需要手動管理悦穿。今天我們實現(xiàn)Angular單頁面應用中路由變化設置頁面標題,來優(yōu)化用戶的用戶體驗业踢±跗猓可以先去掘金看下效果。稀土掘金
在AngularJS(1.x)中動態(tài)設置頁面標題通常是通過一個全局$rootScope對象來完成的知举,通過$rootScope對象監(jiān)聽路由變化獲取當前路由信息并映射到頁面標題瞬沦。在Angular(v2 +)中,解決起來要比1.x容易得多负蠕,我們可以通過注入一個provider蛙埂,在路由變化事件中使用provider提供的API來動態(tài)更新頁面標題。
Title Service
在angular中遮糖,我們可以通過Title來設置頁面標題绣的。我們從platform-browser導入Title, 同時也導入Router。
導入之后欲账,我們在組件的構造函數(shù)中注入他們
在使用Title之前屡江,我們先看下Title是如何定義的
Title類有兩個方法,一個用來獲取頁面標題getTitle赛不, 一個是用來設置頁面標題的setTitle
要更新頁面標題惩嘉,我們可以簡單的調(diào)用setTitle方法: