Andaikan terdapat halaman senarai dan v-for vue digunakan untuk memaparkan halaman tersebut.
Jadi apabila halaman dimuatkan, data v-for diminta melalui ajax apabila halaman dimuatkan
atau adakah data digelung keluar oleh program back-end?
Sesuatu seperti ini:
<p id="data">
<table class="table table-tripped table-hover">
<tr v-for="todo dalam data">
<td>{{todo.title}}</td>
<td>{{todo.learn_name}}</td>
<td>{{todo.is_exist}}</td>
<td>{{todo.is_download}}</td>
</tr>
</table>
</p>
var data = Vue baharu({
el:'#data',
data:{
data:[
<?php foreach ($data sebagai $value):?>
{
tajuk: '<?php echo $value["title"]?>' ,
nama_belajar: '<?php echo $value["belajar_nama"]?>',
is_exist: '<?php echo $value["is_exist"]?>',
is_download: '<?php echo $value["is_download"]?>'
},
<?php endforeach;?>
]
}
});
Lebih baik meminta data melalui ajax
Semakin rendah gandingan antara bahagian hadapan dan bahagian belakang, lebih baik
Tiada salah dengan apa yang anda lakukan di atas.
Tetapi memandangkan saya menyebut isu pemuatan pertama, saya akan mengatakan beberapa perkataan lagi.
Nampaknya halaman anda semuanya dipaparkan secara langsung oleh PHP, jadi lebih baik untuk mengeluarkan data halaman pertama terus ke cache Ini boleh menyimpan permintaan ajax pertama dan secara langsung memberikan data, yang boleh meningkatkan kelajuan pemuatan skrin pertama
Jika anda perlu mempertimbangkan SEO, anda juga boleh mempertimbangkan untuk menggunakan php untuk mengeluarkan struktur html secara langsung apabila halaman pertama kali dimuatkan Permintaan mengubah halaman berikutnya menggunakan ajax digabungkan dengan logik
v-if
与v-else
vuejs.Apa-apa sahaja OK, cuma berikan data nilai awal dan gantikannya selepas ajax memperoleh data.
Apabila vue dipasang, panggil kaedah untuk mendapatkan data secara tidak segera
Sekarang anda menggunakan Vue, jangan gunakan gelung belakang lagi Kerana Vue dipacu data, biarkan masalah pemprosesan dan paparan data ini kepada Vue
Fungsi hujung belakang dijadikan API, dan bahagian hadapan boleh dipanggil menggunakan Vue. Tidak perlu mencampurkannya.
Anda terlalu membuli untuk vue dan tidak akan dapat memperoleh data.
Terima kasih atas jawapan anda, saya menggunakan
vue-resource
untuk mendapatkan data semasa memuatkan buat kali pertama dan memunggahnya dalam kaedah yang dibuat.html:
js: