Latihan 1: Pinia Lanjutan — Vue

Latihan 1 dari materi Pinia Lanjutan di Vue — praktek dengan editor kode interaktif, test case otomatis, dan hint terpandu. Langsung jalan di browser.

Pakai store todo dari komponen utama. Kode awal sudah punya useTodoStore (state todos dan action addTodo), komponen Jumlah yang menampilkan banyaknya todo dari store yang sama di #total, dan const input = ref("").

  1. Ambil store-nya: const store = useTodoStore().
  2. Ambil todos lewat storeToRefs, supaya tetap reaktif setelah dibongkar: const { todos } = storeToRefs(store). Action diambil langsung: const { addTodo } = store.
  3. Buat tambah(): kalau input.value.trim() gak kosong, panggil addTodo(input.value.trim()), lalu kosongkan input.value = "".
  4. Di template: <input id="input" v-model="input" />, <button id="add" @click="tambah">Tambah</button>, dan <ul id="list"> berisi <li v-for="(todo, i) in todos" :key="i">{{ todo }}</li>. Biarkan <component :is="Jumlah" />.

Yang dicek:

Hint