Latihan 1 dari materi Teleport & KeepAlive di Vue — praktek dengan editor kode interaktif, test case otomatis, dan hint terpandu. Langsung jalan di browser.
Kode awal sudah punya const showModal = ref(false) dan sebuah <div>, biarkan. Di dalam <div>, ganti komentar TODO dengan:
<Teleport to="body"> berisi <div v-if="showModal" id="modal">, yang berisi <p>Ini modal!</p> dan <button @click="showModal = false">Tutup</button>.
Teleport memindahkan DOM modalnya ke <body>, di luar <div> komponennya, seperti modal sungguhan.
Yang dicek:
Ada #open, dan sebelum diklik #modal belum terlihat.
Sesudah #open diklik, #modal ada langsung di dalam <body> dan memuat Ini modal!.
Sesudah tombol di dalam #modal diklik, #modal gak terlihat lagi.
Hint
Satu ref, showModal, menentukan modalnya tampil atau gak. Tombol Buka menyalakannya, tombol Tutup di dalam modal mematikannya.
Tombol ber-id open menulis showModal = true. Div ber-id modal memakai v-if="showModal", dibungkus <Teleport to="body">, dan berisi paragraf Ini modal! plus tombol yang menulis showModal = false.