Échec de l'opération de définition de Vuejs sur la clé : la cible est en lecture seule
P粉785905797
2023-08-26 11:26:25
<p>J'utilise Laravel9 et Vuejs3.
J'ai une vue blade qui transmet une variable php à un composant vue : </p>
<pre class="brush:php;toolbar:false;"><formulaire d'abonnement
location="{{ $props['location'] }}"
orientation="{{ $props['orientation'] }}"
/></pré>
<p>Dans la vue principale où je reçois les données, j'ai le code suivant dans les paramètres du script : </p>
<pre class="brush:php;toolbar:false;">const initProps = definitionProps(['location', 'orientation']);
valeurs const = reactive(initProps);</pre>
<p>Cette vue parent appelle un composant comme celui-ci : </p>
<pre class="brush:php;toolbar:false;"><composant
v-bind:is="étapes[étape]"
v-bind:formValues="valeurs"
></composant></pré>
<p>Le problème est que ma variable réactive <code>values</code> ne peut pas être écrite dans ma vue enfant.
J'ai eu une erreur</p>
<pre class="brush:php;toolbar:false;">[Vue warn] Échec de l'opération de définition sur la clé "emplacement" : la cible est en lecture seule.</pre>
<p>Cela se produit lorsque je fais : </p>
<pre class="brush:php;toolbar:false;">props.formValues.location = location;</pre>
<p>Cela fonctionne lorsque je n'ai pas besoin de transmettre des variables php de la lame à la vue parent. Mais maintenant, j'ai deux niveaux d'accessoires de données, de la lame à la vue principale, puis de la vue principale au sous-composant et c'est en lecture seule. </p>
<p>Aide ! </p>
<p>J'ai essayé de changer les variables <code>initProps</code> ou <code>values</code> du type const à var mais cela n'a rien fait. </p>
Je suis très déçu... Cela ne fonctionne pas car mon DefineProps() renvoie undefined Le problème c'est : les majuscules ! J'ai changé
à
Mon DefineProps() renvoie mon objet ! Pourquoi cela ne fonctionne-t-il pas avec les lettres majuscules ?