Saya sedang cuba melaksanakan bacaan tatasusunan menggunakan Vue:
{{ this.locations[this.record.carton.LocationID - 1].Location }}
Walaupun kod itu sendiri berfungsi dengan baik pada masa jalankan, pada muat pertama ia menimbulkan ralat berikut:
app.js:55125 [Vue warn]: Error in render: "TypeError: Cannot read properties of undefined (reading 'Location')"
app.js:56401 TypeError: Cannot read properties of undefined (reading 'Location')
at Proxy.render (app.js:49569:28)
at VueComponent.Vue._render (app.js:58068:22)
at VueComponent.updateComponent (app.js:58580:21)
at Watcher.get (app.js:58994:25)
at new Watcher (app.js:58983:12)
at mountComponent (app.js:58587:3)
at VueComponent.Vue.$mount (app.js:63593:10)
at VueComponent.Vue.$mount (app.js:66507:16)
at init (app.js:57639:13)
at merged (app.js:57824:5)
Saya cuba memulakan nilai Lokasi seperti ini tetapi nampaknya tidak membantu
return {
data() {
return {
locations: {
Location: ''
},
}
}
}
Cara biasa untuk menyelesaikan masalah adalah dengan menetapkan lalai atau pengawal atau kedua-duanya.
Lalai - Sama seperti yang anda cuba, kecuali tatasusunan, dan ambil perhatian bahawa ungkapan indeks mengira indeks lalai...
return { data() { return { locations: [{ Location: '' }], record: { carton: { LocationID: 1 } } } } }Tetapi ini nampaknya agak rekaan dan tipis. Cara lain ialah menggunakan v-if untuk melindungi tag...
Ungkapan melibatkan cukup untuk menjamin meletakkannya ke dalam kaedah.