You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Vue.js v-for遍历数组时element.comments.content无法取值如何解决

问题根因

element.comments 是数组类型,数组内的每一项才是包含 content 字段的评论对象,直接对数组本身访问 .content 属性无法拿到预期值。

解决方案

场景1:需要展示当前帖子下的所有评论

在原有结构基础上新增一层 v-for 遍历评论数组即可:

<div class="fil-actualites-container">
  <div class="posts" v-for="(element, index) in postArray" :key="index">
    <p>{{ element.title }}</p>
    <p>{{ element.content }}</p>
    <p>{{ element.likes.length }}</p>
    <button @click="addLike(element._id)">Add Like</button>
    <br />
    <input
      type="text"
      v-model="contentComment"
      @keydown.enter="addComment(element._id)"
      placeholder="add Comment"
    />
    <!-- 遍历所有评论 -->
    <div v-for="(comment, commentIndex) in element.comments" :key="commentIndex">
      <p>{{ comment.content }}</p>
    </div>
  </div>
</div>

场景2:只需要展示第一条评论的内容

直接指定数组下标访问即可,推荐加上可选链?.避免评论为空时报错:

<p>{{ element.comments[0]?.content }}</p>

如果你的开发环境不支持可选链语法,可以改用条件渲染写法:

<p v-if="element.comments.length > 0">{{ element.comments[0].content }}</p>

内容的提问来源于stack exchange,提问作者Jorge_RM

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 15:36:03