首頁  >  問答  >  主體

Vuejs:無法修改函數內的引用,但可以從範本修改引用

我正在嘗試學習 Vue,並遇到了以下問題。

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

以上工作正常,當我單擊按鈕時,div 內的文字更改為更改的名稱。但下面不起作用,變數 name 在函數中不可用嗎?也使用了 defineExpose({name}) ,仍然不起作用。

<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 天前284

全部回覆(1)我來回復

  • P粉741678385

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

    在範本內您可以使用參考名稱。但在腳本中您應該使用 name.value。

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

    回覆
    0
  • 取消回覆