Apabila Vue.js menjadi semakin popular, pasti akan terdapat lebih banyak permintaan untuk aplikasi Vue. Memandangkan kepentingan halaman senarai terus meningkat dalam kebanyakan aplikasi web, penambahan halaman senarai Vue, pemadaman dan pengubahsuaian bukan sahaja menjadi keperluan aplikasi yang sangat penting, tetapi juga salah satu perkara terpenting yang harus dipelajari oleh pelajar Vue. Artikel ini akan memperkenalkan cara menggunakan Vue.js untuk melakukan operasi tambah, padam, ubah suai dan semak asas pada halaman senarai.
Persediaan:
Sebelum memulakan artikel ini, sila pastikan anda mempunyai pemahaman yang mencukupi tentang asas HTML dan JavaScript, kerana kami akan menggunakan Vue.js, HTML dan JavaScript untuk membuat senarai program aplikasi.
Artikel ini merangkumi topik berikut:
1 Mencipta aplikasi Vue
2. Membuat senarai
3
4. Edit entri 5. Padam entri 1. Buat aplikasi Vue Kita perlu memasang Vue.js. Ia boleh dipasang melalui CDN atau melalui pengurus pakej npm. Jika anda ingin memasang melalui CDN, anda boleh mendapatkannya daripada: https://unpkg.com/vue@next/dist/vue.global.js. Jika anda ingin memasang menggunakan pengurus pakej npm, anda boleh menggunakan arahan berikut dalam terminal:npm install vue
const app = Vue.createApp({ });
const app = Vue.createApp({ data() { return { items: [ { id: 1, name: 'Item 1' }, { id: 2, name: 'Item 2' }, { id: 3, name: 'Item 3' }, { id: 4, name: 'Item 4' }, { id: 5, name: 'Item 5' } ] } } });
<template> <ul> <li v-for="item in items" :key="item.id">{{ item.name }}</li> </ul> </template>
yang disediakan oleh Vue untuk membuat input senarai baharu dan borang penyerahan. Arahan v-model
membenarkan mengikat nilai input ke komponen Vue. Menggunakan arahan v-model
sebenarnya ialah cara kami biasanya menggunakan kotak input teks, dan ia akan mengemas kini pengikatan data dua hala secara automatik. v-model
<template> <div> <form @submit.prevent="addItem"> <input type="text" v-model="newItem" placeholder="Add a new item"> <button type="submit">Add</button> </form> </div> </template>
pengubah suai acara pada borang supaya borang itu tidak pernah benar-benar diserahkan. Sebaliknya, ia mencetuskan pengendali acara yang kita terikat kepada kaedah @submit.prevent
. Kaedah ini akan menambah item baharu pada tatasusunan data. addItem
terikat pada kotak teks tersimpan input? Kita perlu mentakrifkan pembolehubah baharu v-model
dalam model data komponen Vue seperti berikut: newItem
const app = Vue.createApp({ data() { return { items: [ { id: 1, name: 'Item 1' }, { id: 2, name: 'Item 2' }, { id: 3, name: 'Item 3' }, { id: 4, name: 'Item 4' }, { id: 5, name: 'Item 5' } ], newItem: '' } }, methods: { addItem() { this.items.push({id: this.items.length + 1, name: this.newItem}); this.newItem = ''; } } });
, kami memasukkan objek item baharu pada penghujung tatasusunan dan menyediakan Baharu objek projek diberi ID unik. Selepas menambah item, kami akan menetapkan semula addItem
dengan rentetan kosong. Kini kami telah melaksanakan fungsi menambah item baharu pada tatasusunan. newItem
pada item semasa dalam model data dan memaparkan butang simpan. Anda boleh meletakkan butang edit di sebelah setiap item yang bertukar kepada mod edit apabila diklik. v-model
. Pembolehubah ini akan menentukan item yang sedang diedit. Kita juga perlu mentakrifkan pembolehubah currentItem
untuk menyembunyikan nama entri dalam mod edit seperti ini: editing
const app = Vue.createApp({ data() { return { items: [ { id: 1, name: 'Item 1' }, { id: 2, name: 'Item 2' }, { id: 3, name: 'Item 3' }, { id: 4, name: 'Item 4' }, { id: 5, name: 'Item 5' } ], newItem: '', editing: false, currentItem: null } }, methods: { addItem() { this.items.push({id: this.items.length + 1, name: this.newItem}); this.newItem = ''; }, editItem(item) { this.editing = true; this.currentItem = item; }, saveItem() { this.editing = false; this.currentItem = null; } } });
<template> <ul> <li v-for="item in items" :key="item.id"> <span v-if="!editing || currentItem !== item">{{ item.name }}</span> <span v-else><input type="text" v-model="currentItem.name"></span> <button @click="editItem(item)" v-if="!editing">Edit</button> <button @click="saveItem()" v-if="editing">Save</button> </li> </ul> </template>
. Apabila kami menggunakan mod edit, masukkan atau edit nama projek dalam kotak teks edit. Mod edit boleh keluar dengan mengklik butang Simpan. v-if
const app = Vue.createApp({ data() { return { items: [ { id: 1, name: 'Item 1' }, { id: 2, name: 'Item 2' }, { id: 3, name: 'Item 3' }, { id: 4, name: 'Item 4' }, { id: 5, name: 'Item 5' } ], newItem: '', editing: false, currentItem: null } }, methods: { addItem() { this.items.push({id: this.items.length + 1, name: this.newItem}); this.newItem = ''; }, editItem(item) { this.editing = true; this.currentItem = item; }, saveItem() { this.editing = false; this.currentItem = null; }, deleteItem(item) { const index = this.items.indexOf(item); if (index > -1) { this.items.splice(index, 1); } } } });
<template> <ul> <li v-for="item in items" :key="item.id"> <span v-if="!editing || currentItem !== item">{{ item.name }}</span> <span v-else><input type="text" v-model="currentItem.name"></span> <button @click="editItem(item)" v-if="!editing">Edit</button> <button @click="saveItem()" v-if="editing">Save</button> <button @click="deleteItem(item)">Delete</button> </li> </ul> <div> <form @submit.prevent="addItem"> <input type="text" v-model="newItem" placeholder="Add a new item"> <button type="submit">Add</button> </form> </div> </template>
Atas ialah kandungan terperinci Tambah, padam, ubah suai dan semak halaman senarai vue. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!