Rumah > Soal Jawab > teks badan
P粉1916105802023-08-30 11:13:35
tidak wujud dalam QuestionPage.vue
组件中,您的<answers :question="question"></answers>
应该有一个v-if="question.id"
来防止加载组件,以防data()
函数中定义的question
.
Penjelasan
Ralat yang dilaporkan dalam konsol adalah kerana pembolehubah tidak ditentukan telah digunakan dalam permintaan HTTP anda.
Semak fungsi Answers.vue
组件,在created
anda mempunyai kod berikut:
created () { this.fetch(`/questions/${this.questionId}/answers`); },
ID isu ini merujuk kepada struktur Props/Data yang sama Answers.vue
:
export default { props: ['question'], mixins: [highlight], data () { return { questionId: this.question.id, count: this.question.answers_count, answers: [], answerIds: [], nextUrl: null } } }
Dalam komponen QuestionPage.vue
anda, anda menghantar soalan
sebagai prop kepada komponen QuestionPage.vue
组件中,您将question
作为prop传递给Answers.vue
. Walau bagaimanapun, pembolehubah ini mungkin tidak ditentukan. Anda harus menyemak hasil fungsi ini dahulu
mounted () { this.fetchQuestion (); // alert(this.question) // console.log(this.question) }, methods: { fetchQuestion () { axios.get(`/questions/${this.slug}`).then(({data})=> { this.question = data.data }).catch(error => console.log(error)) } }
Jika fungsi tiada hasil, pastikan slug
prop anda betul dan dikendalikan oleh bahagian belakang.