Bagaimana untuk memulakan sub-elemen tatasusunan dalam Vue
P粉955063662
P粉955063662 2024-04-03 13:24:48
0
1
448

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: ''
            },
        }
     }
 }

P粉955063662
P粉955063662

membalas semua(1)
P粉094351878

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...

{{ locations[record.carton.LocationID - 1].Location }}

Ungkapan melibatkan cukup untuk menjamin meletakkannya ke dalam kaedah.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan