Vue 3: v-for显示的组件多于项目
P粉245276769
P粉245276769 2023-07-28 17:56:59
[Vue.js讨论组]
<p>我刚接触Vue并且正在尝试一些东西。我也在使用Ionic,对此也是新手。我有自己的组件&lt;trip.card&gt;,我希望将每个从API返回的行程实例显示出来。</p> <pre class="brush:php;toolbar:false;">&lt;template&gt; &lt;ion-page&gt; &lt;ion-content :fullscreen="true"&gt; &lt;ion-header collapse="condense"&gt; &lt;ion-toolbar&gt; &lt;ion-title size="large"&gt;Woadie - Trips&lt;/ion-title&gt; &lt;/ion-toolbar&gt; &lt;/ion-header&gt; &lt;trip-card v-for="trip in trips" ref="trips" :tripName="trip.name" /&gt; &lt;/ion-content&gt; &lt;/ion-page&gt; &lt;/template&gt;</pre> <p>根据我从文档中了解到的,我现在可以使用onMounted来设置我的数据。</p> <pre class="brush:php;toolbar:false;">&lt;script setup lang="ts"&gt; import { IonContent, IonHeader, IonPage, IonTitle, IonToolbar, } from "@ionic/vue"; import TripCard from "./TripCard.vue"; import axios from "axios"; import { ref, onMounted } from "vue"; const trips = ref([]); onMounted(() =&gt; { axios.get("http://localhost:8081/woadie/trips").then((response) =&gt; { trips.value = response.data; }); }); &lt;/script&gt;</pre> <p>现在,我的API返回一个包含一个行程实例的数组。然而,&lt;trip-card&gt;组件的显示次数远远超过一次。这可能是什么原因呢?</p><p>在文档中,我找到了以下代码片段。</p><p><br /></p> <pre class="brush:php;toolbar:false;">&lt;script setup&gt; import { ref, onMounted } from 'vue' const list = ref([ /* ... */ ]) const itemRefs = ref([]) onMounted(() =&gt; console.log(itemRefs.value)) &lt;/script&gt; &lt;template&gt; &lt;ul&gt; &lt;li v-for="item in list" ref="itemRefs"&gt; {{ item }} &lt;/li&gt; &lt;/ul&gt; &lt;/template&gt;</pre> <p>我的实现与文档中的不同之处似乎在于const list = ref([])和&lt;li v-for="item in list" ref="itemRefs"&gt;,而不是直接使用itemRefs。为什么会有这个额外的步骤?这个额外的步骤是做什么的?文档中没有解释,我不明白为什么需要这样做。</p>
P粉245276769
P粉245276769

全部回复(1)
P粉727531237

ref="itemRefs"将包含由v-for渲染的所有<li>。而不是您的列表元素。

这被称为模板引用(template ref):


https://vuejs.org/guide/essentials/template-refs.html

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号