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.
Di store, tambahkan getters: { total: (state) => state.todos.length }.
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:
#todos ada, punya minimal 2 <li> yang memuat Belajar Vue dan Belajar Pinia, dan tiap <li> punya tombol.
#total berbunyi 2 todo di awal.
Setelah tombol di <li> pertama diklik, <li> pertama memuat Belajar Pinia dan #total jadi 1 todo.
Setelah itu #reset diklik, #total kembali 2 todo.
Kodenya memakai getters: dan actions:.
Hint
Store gaya options punya tiga bagian: state (fungsi yang mengembalikan isi awal), getters (nilai turunan dari state), dan actions (method yang mengubah state lewat this).
getters: { total: (state) => state.todos.length }, actions: { removeTodo(index) { this.todos.splice(index, 1) } }. Di template, v-for di store.todos dengan index i.
<li v-for="(todo, i) in store.todos" :key="todo">{{ todo }} <button @click="store.removeTodo(i)">×</button></li>
</>{ }.css=>#idfn()
Versi baru
HyperSheets
bagian dari BelajarWeb.dev
0%
Membuka gerbang…
HyperSheets
Memperbarui Aplikasi
Versi baru tersedia. Halaman akan dimuat ulang otomatis...