Чтобы хранить и получать данные API в localStorage с помощью Vue.js, вы можете использовать несколько методов. Вот несколько подходов:
- Метод 1. Использование Axios и localStorage:
- Сделайте запрос API с помощью Axios для получения данных.
- После получения данных сохраните их в localStorage с помощью метода
setItem. - Чтобы получить данные из localStorage, используйте метод
getItem.
// Fetch data from API
axios.get('https://api.example.com/data')
.then(response => {
// Store data in localStorage
localStorage.setItem('apiData', JSON.stringify(response.data));
})
.catch(error => {
console.error('Error fetching data:', error);
});
// Retrieve data from localStorage
const storedData = JSON.parse(localStorage.getItem('apiData'));
- Метод 2: использование VueX (управление состоянием Vue.js) и localStorage:
- Настройте хранилище VueX для управления данными API.
- Каждый раз при получении данных API обновляйте хранилище VueX и сохраняйте данные в localStorage.
- При загрузке страницы проверьте, существуют ли данные в localStorage. Если да, извлеките его из localStorage и обновите хранилище VueX.
// VueX store setup
const store = new Vuex.Store({
state: {
apiData: null
},
mutations: {
setApiData(state, data) {
state.apiData = data;
}
}
});
// API data retrieval and storage
axios.get('https://api.example.com/data')
.then(response => {
// Update VueX store
store.commit('setApiData', response.data);
// Store data in localStorage
localStorage.setItem('apiData', JSON.stringify(response.data));
})
.catch(error => {
console.error('Error fetching data:', error);
});
// VueX store initialization on page load
const storedData = localStorage.getItem('apiData');
if (storedData) {
store.commit('setApiData', JSON.parse(storedData));
}
Не забудьте настроить код в соответствии с вашими конечными точками API и структурой данных.