I have a Vue.JS application with a beforeDestroy
method that I'm trying to use to store some data in local storage before the app closes or is reloaded.
Just for reference:
beforeDestroy: function() {
localStorage.setItem('preference', this.preference);
...
}
However, neither closing nor reloading the app actually calls this method.
How can I make sure this method is called before the app is closed?
What is it that "closes" or "reloads" the app? Is it the user in the browser closing the window and/or refreshing the page?
If that is the case, nothing is "destroyed" and that function won't run.
You would have to define a onbeforeunload
function globally:
window.onbeforeunload = function(){
return "Are you sure you want to close the window?";
}
Then you can save items to local storage inside that function before the return statement.
Note: don't define it inside your beforeDestroy
function, because again, that just won't run when you reload the page or navigate away.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With