Pourquoi les propriétés des objets sont-elles marquées en lecture seule dans mon code JavaScript (Vue) ?
<p>J'ai une application Vue 2 qui a une variable d'état (un tableau contenant des objets boîte) appelée <code>boxes</code>. J'ai une propriété calculée qui extrait un sous-ensemble de ces boîtes (<code>nearest_box_linked_boxes</code>). </p>
<p>J'ai une méthode qui parcourt les cases renvoyées par <code>nearest_box_linked_boxes</code> et modifie la valeur d'un attribut sur chaque élément : </p>
<pre class="brush:php;toolbar:false;">for(let i=0;i<this.nearest_box_linked_boxes.length;i++)
{
let box = this.nearest_box_linked_boxes[i];
box.object_class = this.$store.state.selected_object_class;
boîte.patch();
}</pré>
<p>Cette méthode a renvoyé une erreur : </p>
<pre class="brush:php;toolbar:false;">vue.esm.js:648 [Vue warn] : Erreur dans le gestionnaire v-on : "TypeError : Impossible d'attribuer à la propriété en lecture seule 'object_class' de objet '#<Box>'"</pre>
<p>Je n'ai jamais explicitement créé d'objets boîte (ou leurs propriétés) en lecture seule. Je sais que je ne peux pas écrire dans <code>nearest_box_linked_boxes</code> (l'objet du tableau parent) car il s'agit d'une propriété calculée, mais je pense qu'il devrait être possible de modifier les propriétés de chaque élément de ce tableau. </p>
<p>Est-ce que je rencontre un problème causé par Vue et les propriétés calculées, ou s'agit-il d'autre chose ? </p>