Rumah > Soal Jawab > teks badan
Saya baru menggunakan vue dan saya tidak faham apa salah saya di sini.
Saya mempunyai komponen mudah ini:
<template> <template v-if="loading"> Loading... </template> <template v-else> <div class="row"> {{ row }} </div> </template> </template> <script> import { api } from 'src/boot/axios'; import { useUserLoginStore } from 'src/stores/UserLoginStore'; export default { async mounted() { this.loading = true try { const res = await api.get(`/v-cards/slug/${this.$route.params.slug}`, { headers: { Authorization: `Bearer ${useUserLoginStore().userToken}`, } }); this.rows = await res.data this.loading = false console.log('rows', this.rows) } catch (error) { this.error = true console.log(error) this.loading = false } }, data() { return { loading: false, row: [], } }, } </script>
Tetapi apabila saya memaparkan halaman, saya hanya melihat tatasusunan kosong. Panggilan api adalah baik kerana saya melihat data yang betul dalam log konsol.
P粉7148447432023-09-13 12:43:47
Anda tunggu res.data
有什么具体原因吗?您已经在等待上面的 api 调用响应。我相信删除 res.data
Penantian sebelum ini sepatutnya menyelesaikan masalah anda.
Tukar baris ini:
this.rows = await res.data
Untuk ini:
this.rows = res.data
Ini mengandaikan res.data
betul-betul susunan yang anda jangkakan. dan tidak bersarang dalam harta objek lain.
Selain itu, dalam templat anda harus menggunakan rows
而不是row