使用對象存儲動態(tài)變量

錯誤寫法:

vue 動態(tài)設置變量 let dateTimeShow${item.name} = ref(false)

在 Vue 3 中,使用動態(tài)變量名(如 let dateTimeShow${item.name} = ref(false))并不是一個標準的做法,因為 JavaScript 的變量名在定義時是靜態(tài)的。相反,你可以使用對象來動態(tài)存儲這些變量。這樣可以根據(jù) item.name 動態(tài)管理多個 ref 變量。

正確寫法:

使用對象存儲動態(tài)變量
你可以創(chuàng)建一個響應式對象來存儲所有的動態(tài)變量。例如:

import { reactive, ref } from 'vue';

export default {
  setup() {
    // 示例數(shù)據(jù)
    const items = [
      { name: 'item1' },
      { name: 'item2' },
      { name: 'item3' }
    ];

    // 創(chuàng)建一個響應式對象來存儲動態(tài)變量
    const dateTimeShow = reactive({});

    // 初始化動態(tài)變量
    items.forEach(item => {
      dateTimeShow[item.name] = ref(false);
    });

    return {
      dateTimeShow,
      items
    };
  }
};

在模板中使用

然后,你可以在模板中使用這個動態(tài)變量:

<template>
  <div>
    <div v-for="item in items" :key="item.name">
      <p>{{ item.name }}</p>
      <button @click="dateTimeShow[item.name] = !dateTimeShow[item.name]">Toggle</button>
      <p v-if="dateTimeShow[item.name]">Show DateTime for {{ item.name }}</p>
    </div>
  </div>
</template>

總結

  • 動態(tài)變量:使用對象來動態(tài)管理多個 ref 變量,而不是嘗試使用動態(tài)名稱的變量。
  • 響應式:通過 reactive 創(chuàng)建一個響應式對象,容納所有動態(tài)變量。
  • 操作簡便:在模板中可以方便地訪問和修改這些動態(tài)變量。
    通過這種方式,你可以靈活地管理多個動態(tài)變量,保持代碼清晰和可維護。
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容