AlpineJS dispatch komponen diluar parent div

Cara interaksi Alpinejs dispatch elemen div ke luar elemen parent child.

Ilustrasi
Ilustrasi

Untuk memanipulasi elemen HTML dengan bantuan framework AplineJS, biasanya interaksi dilakukan dalam satu blok keluarga saja. Misalnya, element parent (ayah) hanya bisa memerintah ke elemen child (anak).

<div x-data="{ open: false }"> <!-- parent element -->

    <button @click="open = true">Expand</button> <!-- child element -->
 
    <span x-show="open"> <!-- child element -->
        Content...
    </span>

</div>

Bagaimana kalau elemen parent atau elemen child sekalipun bisa menginterupsi keluar dari elemen keluarga mereka. Ceritanya, anak ayah, memberi intruksi ke anak tetangga bahkan ke elemen kepala desa.

Caranya mudah, pakai fungsi magick $dispatch() AlpineJS. “$dispatch is a helpful shortcut for dispatching browser events,” begitu yang tertulis di laman dokumentasi AlpineJS.dev.

Berikut cara penggunaannya.

<!-- Parent child element -->
<div x-data>

  <button  @click="$dispatch('open-neighbor-element')">Click Message</button>

</div>
<!-- ./Parent child element -->

<!-- Parent child neighbor element -->
<div x-data="{ open: false }"  x-show="open" @open-neighbor-element.window="open = !open">

  <p>
    I have received a message from your father. 
  </p>

</div>
<!-- ./Parent child neighbor element -->

Live Demo

Penjelasan kode:

  • Baris kode @click="$dispatch('open-neighbor-element')" berfungsi untuk mengikat nilai ke atribut HTML di luar parent.
  • Pada elemen div berikutnya, attribut @open-neighbor-element.window="open = !open" menjadi target tujuan interaksi.

Semoga bermanfaat.

Referensi:

comments powered by Disqus
Fauzan My avatar

Ditulis oleh Fauzan My

Saya terobsesi dengan seni desain yang elegan dan sederhana, baik yang melibatkan proses kreatif rumit maupun yang sederhana. Di sini, saya menggabungkan keduanya, desain dan coding: mencari best practice.

Tulisan lainnya Fauzan My

Ilustrasi composer matrix style.
Tutorial Cara Install Composer Secara Visual di macOS
Gambar oprimasi mesin pencari.
Menggali Lebih Dalam tentang Skema Microdata untuk SEO
Twitter Icon X di layar smartphone.
Icon Twitter X SVG Bootstrap

Related Post