Dalam pengembangan frontend, data binding adalah salah satu konsep penting yang wajib dipahami, apalagi jika kamu sedang belajar framework seperti Vue, React, atau Angular. Tapi tenang, di artikel ini kita akan bahas dengan bahasa yang sederhana, tanpa istilah yang bikin mumet.
Secara sederhana, data binding adalah cara menghubungkan data dengan tampilan (UI). Jadi, ketika data berubah, tampilan ikut berubah secara otomatis. Bahkan, dalam beberapa kasus, saat tampilan berubah (misalnya saat user mengetik), data juga ikut berubah. Itulah yang disebut two-way binding.
Misalnya kamu punya data:
const nama = 'Warsono'
Dan di HTML kamu punya:
<p>Halo, {{ nama }}</p>
Maka yang akan tampil di halaman adalah:
Halo, Warsono
Nah, kalau nama
berubah menjadi "Gravitano"
, maka tampilan akan langsung update jadi:
Halo, Gravitano
Inilah keajaiban data binding — data dan UI terhubung langsung.
Ada dua jenis utama yang sering digunakan:
Data hanya mengalir dari data → ke tampilan. Cocok untuk kasus ketika kamu hanya ingin menampilkan data ke user.
Contoh (misalnya di Vue atau React):
<p>{{ nama }}</p>
Kalau kamu ubah nilai nama
, maka UI akan berubah. Tapi kalau user mengubah UI (misalnya mengetik sesuatu), nilai nama
tidak akan ikut berubah.
Data dan tampilan saling terhubung. Ketika user mengubah nilai di UI (misalnya mengetik di input), nilai di data juga ikut berubah.
Contoh di Vue:
<input v-model="nama" />
<p>Halo, {{ nama }}</p>
nama
berubah.nama
berubah, teks di paragraf juga ikut update otomatis.Berikut beberapa contoh data binding di framework terkenal:
Framework | One-way | Two-way |
---|---|---|
React | ✅ {nama} | ❌ (manual pakai useState ) |
Vue | ✅ {{ nama }} | ✅ v-model |
Angular | ✅ {{ nama }} | ✅ [(ngModel)] |
Data binding = menghubungkan data dan tampilan, supaya sinkron otomatis.
Dengan memahami data binding, kamu bisa membangun UI yang interaktif, dinamis, dan lebih efisien.
Semakin dalam kamu belajar, semakin kamu akan sadar bahwa data binding adalah fondasi dari banyak fitur keren di frontend!