2015-12-23 66 views
3

我有一個beforeDestroy方法的Vue.JS應用程序,我試圖用它在應用程序關閉或重新加載之前在本地存儲中存儲一些數據。僅供參考:在vue.js重新加載或關閉之前做些什麼

beforeDestroy: function() { 
    localStorage.setItem('preference', this.preference); 
    ... 
} 

但是,關閉和重新加載應用程序實際上都不會調用此方法。如何確保在應用程序關閉之前調用此方法?

回答

3

「關閉」或「重新加載」應用程序是什麼?它是關閉窗口和或刷新頁面的瀏覽器中的用戶嗎?如果是這樣的話,什麼都不會被「銷燬」,並且該功能不會運行。你將不得不在全球範圍內定義onbeforeunload功能:

window.onbeforeunload = function(){ 
    return "Are you sure you want to close the window?"; 
} 

https://developer.mozilla.org/en-US/docs/Web/API/WindowEventHandlers/onbeforeunload

然後就可以保存該函數內部項目到本地存儲return語句之前。

提示:不要在你的beforeDestroy函數中定義它,因爲再次,當你重新加載頁面或離開時不會運行。

+0

好點。現在就開始工作吧。謝謝! – Ben

相關問題