ฉันมีสองเส้นทางนี้ /services
และ /services/parents
และแต่ละหน้าถูกเก็บไว้ในไฟล์ vue
ดังนี้:
// ตำแหน่งไฟล์ : "/pages/services/index.vue"
<tr v-for="service in services" :key="service.id">
<td class="check-col"><input type="checkbox"></td>
<td class="number-col">{{ service.id }}</td>
<td>{{ service.name }}</td>
<td>{{ service.slug }}</td>
<td>
<template v-if="service.children.length">
<template v-for="(child, index) in service.children">
<nuxt-link :to="'/admin/services/' + child.id" :key="child.id">
{{ child.name }}
</nuxt-link>
<span :key="child.id" v-if="(index+1) < service.children.length">, </span>
</template>
</template>
<span v-else>--</span>
</td>
</tr>
และในหน้า /services/parents
ของฉัน ฉันมี:
// ตำแหน่งไฟล์ : "/pages/services/parents.vue"
<tr v-for="service in services" :key="service.id">
<td>{{ service.id }}</td>
<td>{{ service.name }}</td>
</tr>
<script>
export default{
computed: {
services() {
return this.$store.getters['content-lists/services/list']
}
},
async fetch({ store, query }) {
let page = Number(query.page) || 1
let perPage = Number(store.getters['content-lists/services/perPage'])
let offset = (page - 1) * perPage
const max = await strapi.request('get', '/services/count')
store.commit('content-lists/services/setMaxPages', max)
store.commit('content-lists/services/empty')
const response = await strapi.request('post', '/graphql', {
data: {
query: `query {
services(limit: ${perPage}, start: ${offset}) {
id
name
slug
children {
id
name
}
}
}`
}
})
response.data.services.forEach((service) => {
store.commit('content-lists/services/add', {
id: service.id || service._id,
...service
})
})
}
}
</script>
เมื่อฉันไปที่หน้าผู้ปกครอง มันทำให้ฉันมีข้อผิดพลาดนี้:
service.children ไม่ได้กำหนดไว้
เกิดข้อผิดพลาดขณะเรนเดอร์เพจ ตรวจสอบคอนโซลเครื่องมือสำหรับนักพัฒนาเพื่อดูรายละเอียด
มันจะเกิดขึ้นเมื่อนำทางด้วย <nuxt-link>
เท่านั้น หากคุณพิมพ์ url ในที่อยู่เบราว์เซอร์ มันก็ใช้งานได้ดี ฉันตรวจสอบคอนโซลแล้ว แต่ไม่มีร่องรอยเลย แค่บอกว่า: Type error: service.children is not defined
ฉันขอขอบคุณความช่วยเหลือใด ๆ ล่วงหน้า
/pages/services/index.vue
อย่างไร โปรดระบุข้อมูลตอบกลับสำหรับตัวแปรservices
? - person Vasu Kuncham   schedule 03.02.2019<template v-if="service && service.children.length">
- person gleam   schedule 04.02.2019nuxt-link
ไม่ได้ดึงข้อมูลสำหรับส่วนประกอบ (ตรวจสอบที่จัดเก็บ vuex) 2) อาจเป็นไปได้ว่า service.children ไม่ได้ถูกกำหนดตามที่ระบุไว้ข้างต้น - ดังนั้นservice?.children
หรือservice.hasOwnProperty("children")
อาจ ความช่วยเหลือ stackoverflow.com/questions/49251437/ - person Denis Tsoi   schedule 08.02.2019