Angular 2+ 監(jiān)聽路由變化動態(tài)設(shè)置頁面標(biāo)題

現(xiàn)在很多web網(wǎng)站都采用了SPA單頁應(yīng)用,單頁面有很多優(yōu)點:用戶體驗好、應(yīng)用響應(yīng)快、對服務(wù)器壓力小 等等。同時也有一些缺點:首次加載資源太多,不利于SEO,前進、后退、地址欄需要手動管理。今天我們實現(xiàn)Angular單頁面應(yīng)用中路由變化設(shè)置頁面標(biāo)題,來優(yōu)化用戶的用戶體驗。可以先去掘金看下效果。稀土掘金

在AngularJS(1.x)中動態(tài)設(shè)置頁面標(biāo)題通常是通過一個全局$rootScope對象來完成的,通過$rootScope對象監(jiān)聽路由變化獲取當(dāng)前路由信息并映射到頁面標(biāo)題。在Angular(v2 +)中,解決起來要比1.x容易得多,我們可以通過注入一個provider,在路由變化事件中使用provider提供的API來動態(tài)更新頁面標(biāo)題。

Title Service

在angular中,我們可以通過Title來設(shè)置頁面標(biāo)題。我們從platform-browser導(dǎo)入Title, 同時也導(dǎo)入Router。


導(dǎo)入之后,我們在組件的構(gòu)造函數(shù)中注入他們


在使用Title之前,我們先看下Title是如何定義的


Title類有兩個方法,一個用來獲取頁面標(biāo)題getTitle, 一個是用來設(shè)置頁面標(biāo)題的setTitle

要更新頁面標(biāo)題,我們可以簡單的調(diào)用setTitle方法:








?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容