Latihan 2: Pinia Lanjutan — Vue

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

Lengkapi store todo gaya options. Kode awal sudah punya useTodoStore dengan state berisi dua todo, const store = useTodoStore(), <p id="total"> yang membaca store.total, dan tombol #reset yang memanggil store.$reset(). Biarkan semuanya.

  1. Di store, tambahkan getters: { total: (state) => state.todos.length }.
  2. Tambahkan actions: { removeTodo(index) { this.todos.splice(index, 1) } }.
  3. Di dalam <ul id="todos">, buat satu <li> per todo: <li v-for="(todo, i) in store.todos" :key="todo">{{ todo }} <button @click="store.removeTodo(i)">×</button></li>.

$reset() mengembalikan state ke isi awal dari fungsi state. Di store gaya options, Pinia menyediakannya sendiri.

Yang dicek:

Hint