Vue 3,组合 API,引用数组不起作用

新手上路,请多包涵

请看下面的代码。

 <template>
  <div v-for="item in arr" :key="item">{{ item }}</div>
</template>

<script>
import { ref } from "vue";

export default {
  name: "TestArr",
  setup() {
    const arr = [];
    arr.push(ref("a"));
    arr.push(ref("b"));
    arr.push(ref("c"));
    return { arr };
  }
};
</script>

输出如下

{ "_rawValue": "a", "_shallow": false, "__v_isRef": true, "_value": "a" }
{ "_rawValue": "b", "_shallow": false, "__v_isRef": true, "_value": "b" }
{ "_rawValue": "c", "_shallow": false, "__v_isRef": true, "_value": "c" }

预期产出

a
b
c

我必须在模板中调用 item.value 才能使其工作。 vue3 中这种情况的解决方法是什么?

干杯!

原文由 Phil Li 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 494
1 个回答

你这样做是不对的;尝试以下

setup() {
    const arr = ref([]);
    arr.value.push("a");
    arr.value.push("b");
    arr.value.push("c");
    return { arr };
  }

将 ref 项添加到普通数组是没有意义的。 数组 本身应该是 ref。

原文由 Ashwin Bande 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题