Gunakan Vue dan axios untuk mengemas kini data tanpa memuat semula halaman
P粉614840363
P粉614840363 2023-08-25 19:15:28
0
1
530
<p>Saya mempunyai halaman dengan 2 tab (Soalan dan Data) dibuat pada Vue dan Axios. Dalam tab pertama saya mengisi borang dan menyerahkan - butang simpan <strong>v-on:click="save"</strong>. </p> <pre class="brush:php;toolbar:false;">save: function() { aksios({ kaedah: 'tampalan', url: url, data: ini.data }) .then(fungsi (tindak balas) { ini.data = respon.data; }</pre> <p>Dalam tab kedua (Data) saya mempunyai senarai data yang disimpan: </p> <pre class="brush:php;toolbar:false;">mounted() { aksios .get('/api/recommended-products/?patient_uuid=' + '{{patient.uuid}}') .then(respon => (this.data= response.data.results)) }</pre> <p>Sekarang apabila saya menukar jawapan dalam tab Soalan, senarai dalam tab Data akan berubah secara automatik. Jika saya memuat semula halaman ia berubah - Mounted() berfungsi. Saya cuba mencipta fungsi <strong>updateList()</strong> <pre class="brush:php;toolbar:false;">updateList: function() { aksios .get('/api/recommended-products/?patient_uuid=' + '{{patient.uuid}}') .then(respon => (this.data= response.data.results)) }</pre> <p>dan tambahkannya pada fungsi <strong>save()</strong> <pre class="brush:php;toolbar:false;">save: function() { aksios({ kaedah: 'tampalan', url: url, data: ini.data }) .then(fungsi (tindak balas) { ini.data = respon.data; this.updateList(); }</pre> <p>Masalahnya ialah cara ini berfungsi untuk kali kedua (kadangkala ia berkesan dan kadangkala tidak). Jadi saya hanya menambah <strong>location.reload();</strong> kepada <strong>save()</strong> Adakah mungkin untuk mengemas kini senarai data tanpa memuat semula halaman? Apa yang saya buat salah dengan fungsi <strong>updateList()</strong> </p>
P粉614840363
P粉614840363

membalas semua(1)
P粉949267121

Pada pendapat saya, anda harus menggunakan vuex dan pengambilnya.

Dengan cara ini, anda hanya mempunyai satu permintaan di semua aplikasi anda dan data dimuat semula secara automatik setelah status dikemas kini.

Anda kemudian boleh mengakses data menggunakan 计算property yang akan dipaparkan semula secara automatik apabila keadaan dikemas kini.


Berikut ialah contoh penggunaan berbilang tab: https://codesandbox.io/s/vuex-axios-demo-forked-m0cqe4?file=/src/App.vue

Dalam contoh ini, saya memuatkan maklumat siaran melalui API JsonPlaceHolder.

Hantar semula borang setiap masa (menggunakan fungsi). Panggil operasi kedai dan kemudian kemas kini keadaan, sekali gus mencetuskan pengambil untuk memaparkan semula data.

Nota: Saya memuatkan siaran pertama ke Mounted dengan nilai lalai 1.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!