鍍金池/ 問答/HTML5  HTML/ vue如何讓頁面只刷新一次?

vue如何讓頁面只刷新一次?

每次登陸跳到首頁后,部分js失效。為了解決這個問題,我在一進(jìn)入首頁的時候刷新一次 代碼如下:

//home.vue
mounted:function(){
    location.reload()
}

可現(xiàn)在頁面是一直刷新無線循環(huán)的,如果改為只刷新一次?

回答
編輯回答
來守候
  1. 無線刷新是因為組件渲染完成后必然會進(jìn)入mounted鉤子,然后執(zhí)行你的reload,而后又進(jìn)入鉤子,導(dǎo)致死循環(huán)。
  2. 頁面刷新后頁面中的狀態(tài)都會丟失。所以你無法使用代碼中的狀態(tài)判斷之前是否刷新過。
  3. 如果需要只刷新一次,可以在本地存儲中保存一個狀態(tài)來判斷。但是我不建議你這樣做。
  4. 就像樓上所說,你的問題是解決js失效,而不是曲線救國去研究刷新頁面。
2017年2月2日 08:27
編輯回答
檸檬藍(lán)

你這個問題本身就有問題。你應(yīng)該檢查為什么跳到首頁后部分 js 會失效,而不是直接刷新。

無限循環(huán)則是因為 mounted 這個鉤子函數(shù)當(dāng)組件 home.vue 被添加到 DOM 上時就會執(zhí)行,你的首頁肯定用到了這個組件,于是就無限循環(huán)。

還是第一句話,先找真正的原因,解決它,不要動不動就想繞過。

2017年5月22日 12:57
編輯回答
爛人

判斷上一個頁面是不是登錄頁,是就刷新,不是就不刷新

2017年6月15日 12:49