1.
提醒一下,當使用路由參數時,例如從 /user/foo 導航到 /user/bar,原來的組件實例會被複用。由於兩個路由都渲染同個組件,比起銷燬再建立,複用則顯得更加高效。不過,這也意味着組件的生命週期鉤子不會再被調用。
僅僅只是路由的參數發生了變化,該路由是默認不作刷新操做的。
爲了解決這個問題
不想複用的話,就在父組件的router-view上加個key
<router-view :key="$route.fullPath"></router-view>javascript
2.就是vue-router IOS白屏的問題,這個真是太坑了
問題描述:html
進入A頁面——>B頁面——>ios自帶的返回——>白屏出現——>手動點擊白屏處——>問題解決vue
緣由分析: java
在ios機器上使用webview開發Vue項目時候,go history(-1), 沒法將body的高度拉掉,使得遮住,觸發輕點擊,方可消除遮罩ios
解決方案實現原理:web
html,body都是100%,#app撐起了父元素的告訴,可是瀏覽器默認的滾動scroll並非#app,而是body,某些因素,形成返回history 後,沒法復原(ios 的鍋),爲此,咱們將#app 進行了絕對定位,並讓它從新成爲 scroll 的對象,從而解決問題vue-router
html, body { width: 100%; height: 100%; margin: 0; padding: 0; position: relative; } #app { width: 100%; height: 100%; background: #fff; overflow: scroll; -webkit-overflow-scrolling: touch; position: absolute; left:0; top:0; } #app 是父節點,最外層的container。根據具體狀況而定