Maison  >  Questions et réponses  >  le corps du texte

Vuejs : impossible de modifier la référence dans la fonction, mais peut modifier la référence à partir du modèle

J'essaie d'apprendre Vue et j'ai rencontré le problème suivant.

<template>
    <div>{{ name }}</div>
    <button @click="name = 'changed name'">Change</button>
</template>
<script setup>
    import { ref } from 'vue';
    let name = ref('first');
</script>

Ce qui précède fonctionne bien, lorsque je clique sur le bouton, le texte à l'intérieur du div se transforme en le nom modifié. Mais ce qui suit ne fonctionne pas, la variable name 在函数中不可用吗?也使用了 defineExpose({name}) , ne fonctionne toujours pas.

<template>
    <div>{{ name }}</div>
    <button @click="changeName">Change</button>
</template>
<script setup>
    import { ref } from 'vue';
    let name = ref('first');
    const changeName = () => {
        name = 'changed name';
    }
</script>

P粉533898694P粉533898694211 Il y a quelques jours282

répondre à tous(1)je répondrai

  • P粉741678385

    P粉7416783852024-03-22 14:10:06

    Dans les modèles, vous pouvez utiliser des noms de référence. Mais dans les scripts, vous devez utiliser name.value.

    <script setup>
            import { ref } from 'vue';
            const name = ref('first');
            const changeName = () => {
                name.value = 'changed name';
            }
        </ script>

    répondre
    0
  • Annulerrépondre