Я пытаюсь найти наилучший способ сохранить состояние приложения в локальном хранилище, чтобы иметь возможность восстановить его при возврате в приложение.В частности, это для веб-приложения iOS (т.е. сохраняется на домашнем экране пользователя).Я не использую Vuex, так как это простое приложение.
В настоящее время я использую хук жизненного цикла updated()
Vue.js , но я чувствую себя такизлишне, и, возможно, проблема с производительностью заключается в сохранении в локальном хранилище каждый раз, когда меняется состояние:
var app = new Vue({
el: '#app',
updated: function() {
this.saveAppState();
}
});
Примечание. Приведенная выше функция saveAppState();
используется там, где я использую localStorage.setItem()
.
Apple Руководство по веб-контенту Safari (см. Таблицу 6-1) предлагает использовать hidepage
, например:
window.addEventListener('pagehide', function(event) {
app.saveAppState();
}
Однако это работает тольков мобильном Safari при перезагрузке страницы.Если я закрываю вкладку или когда добавляю приложение на домашний экран, после выхода из приложения (нажатия кнопки «Домой») и возврата мое состояние не сохраняется.
Я также пытался destroyed()
крюк жизненного цикла, и это совсем не сработало.
Буду очень признателен за любые идеи и советы.