GOOGLE ADS

суббота, 7 мая 2022 г.

Получить данные локального хранилища, когда интернет подключен к сети

Итак, я пытаюсь получить данные локального хранилища, когда Интернет подключен к сети, используя Vuejs. Мой стек приложений ToDo в Vuejs/Laravel/MySQL. По сути, я храню данные в localStorage, когда интернет есть в сети. Кроме того, я добавил все функции приложения ToDo с автономными возможностями, такими как добавление, удаление и редактирование элемента списка дел. Я не могу опубликовать данные локального хранилища в базе данных MySQL.

updateAllTodos() {
let data = { todos: this.todos };
if (navigator.onLine) {
axios.post(this.api + "/update_all", data).then((res) => {
localStorage.setItem("todos", JSON.stringify(this.todos));
});
} else {
JSON.parse(localStorage.getItem("todos", JSON.stringify(this.todos)));
}
},

Как я могу опубликовать данные localStorage, когда Интернет онлайн?


Решение проблемы

Вы можете справиться с этим (обновить статус onLine) с помощью прослушивателя событий и установить переменную true/false. Позже вы можете следить за свойством данных и делать что-то соответственно.

data() {
return {
isOnLine:navigator.onLine
}
},
mounted() {
window.addEventListener('online', () => {this.isOnLine = true});
window.addEventListener('offline', () => {this.isOnLine = false});
},
watch: {
onLine: function (val) {
if(this.isOnLine){
// make axios call here
}
},
}

Комментариев нет:

Отправить комментарий

Laravel Datatable addColumn returns ID of one record only

Я пытаюсь использовать Yajra Datatable для интеграции DataTable на свой веб-сайт. Я смог отобразить таблицу, но столкнулся с проблемой. В по...