vue路由跳轉後頁面樣式錯亂,刷新一下又好了的問題

前言


如圖所示,當我從profile頁跳轉回index頁時,頁面樣式錯亂:

在這裏插入圖片描述
這是index頁面一開始的樣子,然後我們跳轉到profile頁面
在這裏插入圖片描述
這是profile頁面,然後我們再跳轉回index頁面
在這裏插入圖片描述
這個時候問題就來了,可以明顯的看到首頁的樣式被破壞了,那麼爲什麼會這樣呢?

思考


想了一下意識到,大概率是因爲vue加載組件的時候,會把所有組件的css全部加載到一起,而這個時候樣式是全局的,vue會偷懶不再渲染當前頁面的樣式

思路我們找到了,那麼該如何解決呢?

解決


首先想到的是利用scoped來解決,在vue中引入了scoped這個概念,scoped的設計思想就是讓當前組件的樣式不會修改到其它地方的樣式,使用了data-v-hash的方式來使css有了它對應模塊的標識,這樣寫css的時候不需要加太多額外的選擇器,方便很多。

其中,最核心的一點就是限定它的作用域只侷限於當前頁面,不會影響到其他頁面

好的,說了這麼多,那我們來使用一下scoped
在這裏插入圖片描述
在index頁面的style標籤上加入scope
在這裏插入圖片描述
然後,在profile頁面的style標籤上加入scope

驗證


最後,我們來驗證一下結果

在這裏插入圖片描述
先是進入index頁面
在這裏插入圖片描述
然後跳轉到profile頁面
在這裏插入圖片描述
再跳回來,我們可以看到樣式沒有被破壞,可以正常顯示。

最後,如果本文對你有幫助的話,點個關注吧!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章