vue-router響應路由參數的變化

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。根據具體狀況而定
相關文章
相關標籤/搜索