Mengapakah sifat objek ditanda baca sahaja dalam kod JavaScript (Vue) saya?
P粉464208937
P粉464208937 2023-08-26 22:18:27
0
1
561
<p>Saya mempunyai aplikasi Vue 2 yang mempunyai pembolehubah keadaan (tatasusunan yang mengandungi objek kotak) dipanggil <kod>kotak</kod>. Saya mempunyai sifat pengiraan yang mengekstrak subset kotak ini (<kod>kotak_pautan_kotak_terdekat</kod>). </p> <p>Saya mempunyai kaedah yang melingkari kotak yang dikembalikan oleh <kod>kotak_pautan_kotak_terdekat</kod> <pre class="brush:php;toolbar:false;">for(biar i=0;i<ini.kotak_pautan_kotak_terdekat.length;i++) { biarkan kotak = ini.kotak_pautan_kotak_terdekat[i]; box.object_class = this.$store.state.selected_object_class; box.patch(); }</pre> <p>Kaedah ini mengembalikan ralat: </p> <pre class="brush:php;toolbar:false;">vue.esm.js:648 [Vue warn]: Ralat dalam pengendali v-on: "TypeError: Tidak boleh menetapkan untuk membaca sifat 'object_class' sahaja objek '#<Kotak>'"</pre> <p>Saya tidak pernah secara eksplisit membuat sebarang objek kotak (atau sifatnya) baca sahaja. Saya tahu bahawa saya tidak boleh menulis kepada <code>nearrest_box_linked_boxes</code> (objek tatasusunan induk) kerana ia adalah sifat yang dikira, tetapi saya fikir ia sepatutnya boleh mengubah suai sifat setiap elemen dalam tatasusunan ini. </p> <p>Adakah saya mengalami masalah yang disebabkan oleh Vue dan sifat yang dikira, atau adakah ia sesuatu yang lain? </p>
P粉464208937
P粉464208937

membalas semua(1)
P粉754477325

Anda harus sentiasa menganggap sifat yang dikira sebagai "baca sahaja", pengecualian adalah penetap harta yang dikira.

Walaupun secara teknikalnya mungkin untuk mengubah suai objek yang dikembalikan oleh harta yang dikira, ini secara amnya idea yang tidak baik. Sebaik sahaja kebergantungan berubah, objek akan diganti dan perubahan anda akan hilang.

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