我正在阅读vue 3的文档,我决定在我的本地开发环境中测试refs
。我使用的是vue版本3.2.31
,并根据vue官方指南设置了我的项目。所以为了测试我的组件中的“refs”,我只是复制并粘贴了这个url中的代码,即vue站点的Playground。这意味着我的组件代码是这样的:
<script setup>
import { ref, onMounted } from 'vue'
const list = ref([1, 2, 3])
const itemRefs = ref([])
onMounted(() => {
console.log(itemRefs.value.map(i => i.textContent))
})
</script>
<template>
<ul>
<li v-for="item in list" ref="itemRefs">
{{ item }}
</li>
</ul>
</template>
但是在控制台中我收到一个空数组。我是否错过了一些事情来查看li
标签中的文本输出数组?
1条答案
按热度按时间f3temu5u1#
这是一个已知的错误(
vuejs/core#5525
),其中数组引用未正确填充。一种解决方法是绑定一个函数,将模板引用推入数组:
demo 1
或者通过 Package 器对象绑定ref数组(如原始问题中所建议的):
demo 2