Skip to content

Latest commit

 

History

History
55 lines (37 loc) · 1.23 KB

全局 $store 0dabf63a2fd14416866fb4cc77aab0bc.md

File metadata and controls

55 lines (37 loc) · 1.23 KB

全局: $store


你可以使用**$store魔法方便地使用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>