@shirley.vonrueden
Основной практикой для работы с локальным хранилищем в Nuxt.js является использование плагина. Вот пример, как получить данные из localStorage с использованием плагина:
- Создайте файл плагина, например, localStorage.js, в папке plugins:
1
2
3
4
5
6
7
8
9
10
|
// plugins/localStorage.js
export default ({ store }) => {
if (process.browser) {
const userData = localStorage.getItem('userData')
if (userData) {
store.commit('SET_USER_DATA', JSON.parse(userData))
}
}
}
|
- Зарегистрируйте плагин в вашем файле nuxt.config.js:
1
2
3
4
5
6
7
8
|
// nuxt.config.js
export default {
plugins: [
{ src: '~/plugins/localStorage.js' }
],
// остальные настройки
}
|
- В файле store/index.js определите состояние (state) и мутацию (mutation), как показано в предыдущем ответе:
1
2
3
4
5
6
7
8
9
10
11
|
// store/index.js
export const state = () => ({
userData: null
})
export const mutations = {
SET_USER_DATA(state, data) {
state.userData = data
}
}
|
Теперь данные из localStorage будут автоматически получены и сохранены в состоянии хранилища при запуске приложения в браузере. Вы можете использовать данные в вашем приложении через mapState или this.$store.state.userData точно так же, как в предыдущем ответе.