Перейти к содержимому

$store

Вы можете использовать $store для удобного доступа к глобальным хранилищам Alpine, зарегистрированным с помощью Alpine.store(...). Например:

<button x-data @click="$store.darkMode.toggle()">Переключить тёмный режим</button>
<div x-data :class="$store.darkMode.on && 'bg-black'">...</div>
<script>
document.addEventListener('alpine:init', () => {
Alpine.store('darkMode', {
on: false,
toggle() {
this.on = !this.on;
},
});
});
</script>

Учитывая, что мы зарегистрировали хранилище darkMode и установили значение on в «false», при нажатии кнопки <button> значение on будет «true» и цвет фона страницы изменится на чёрный.

Хранилища с одним значением

Если вам не нужен целый объект для хранилища, вы можете задать и использовать в качестве хранилища любой тип данных.

Вот пример, приведённый выше, но использующий булево значение:

<button x-data @click="$store.darkMode = !$store.darkMode">Переключить тёмный режим</button>
<div x-data :class="$store.darkMode && 'bg-black'">...</div>
<script>
document.addEventListener('alpine:init', () => {
Alpine.store('darkMode', false);
});
</script>