相关疑难解决方法(0)

v-for循环内的Vue.js ref

我尝试在v-for循环内使用组件,并初始化ref以便将来从父级访问这些组件的某些方法。这是我的情况的简化代码:

<template>
    <div class="hello">
        {{ msg }}
        <ul>
            <list-item 
                v-for="item in items" 
                :key="item.id" 
                :value="item.text" 
                :ref="`item${item.id}`"
            />
        </ul>
    </div>
</template>

<script>
    import ListItem from "./ListItem";
    export default {
        name: "HelloWorld",
        components: {
            ListItem
        },
        data() {
            return {
                msg: "Welcome to Your Vue.js App",
                items: [
                    { id: 1, text: "foo" },
                    { id: 2, text: "bar" },
                    { id: 3, text: "baz" },
                    { id: 4, text: "foobar" }
                ]
            };
        },
        mounted() {
            setTimeout(() => …
Run Code Online (Sandbox Code Playgroud)

javascript vue.js vue-component vuejs2

9
推荐指数
6
解决办法
7378
查看次数

v-for Loop 内的参考文献 vue v3.2.25 或更高版本

我正在阅读vue 3 的文档,我决定refs在本地开发环境中进行测试。我正在使用 vue 版本并根据vue 官方指南3.2.31设置我的项目。因此,为了在我的组件中测试“refs”,我只需将代码复制并粘贴到这个 vue 网站Playground的URL中。这意味着我的组件的代码是这样的:

<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>
Run Code Online (Sandbox Code Playgroud)

但在控制台中我收到一个空数组。我是否缺少一些操作来查看标签中文本的输出数组li

vue.js vuejs3

3
推荐指数
1
解决办法
1万
查看次数

标签 统计

vue.js ×2

javascript ×1

vue-component ×1

vuejs2 ×1

vuejs3 ×1