Vuejs: Die Referenz innerhalb der Funktion kann nicht geändert werden, die Referenz aus der Vorlage kann jedoch geändert werden
P粉533898694
P粉533898694 2024-03-21 19:10:21
0
1
321

Ich versuche Vue zu lernen und bin auf das folgende Problem gestoßen.

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

Das obige funktioniert einwandfrei. Wenn ich auf die Schaltfläche klicke, ändert sich der Text im Div in „den geänderten Namen“. Aber das Folgende funktioniert nicht, die Variable funktioniert immer noch nicht.

<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>
name 在函数中不可用吗?也使用了 defineExpose({name})
P粉533898694
P粉533898694

Antworte allen(1)
P粉741678385

在模板内您可以使用引用名称。但在脚本中您应该使用 name.value。

<script setup>
        import { ref } from 'vue';
        const name = ref('first');
        const changeName = () => {
            name.value = 'changed name';
        }
    </ script>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage