如何在Vue js中的v-for循环中使用v-model

2023-12-07

这是我的第一个问题,我真的很绝望,我希望你能帮助我。

我正在尝试使用 vuejs 构建像 Facebook 这样的帖子/评论/回复系统,在使用 Axios 获取数据库中的数据(使用 laravel API)后,我使用 v-for 循环所有帖子/评论/回复,这里的问题是,我在 v-for 循环内的表单上附加了 v-model 的输入,当我输入我的输入时,它出现在已循环的所有其他输入中,这是一个用于更好理解的图像 ->重复输入,

        <div class="panel panel-white post panel-shadow" v-for="(post) in posts" >
            <div class="post-heading">
                <div class="pull-left image">
                    <img src="https://bootdey.com/img/Content/user_1.jpg" class="img-circle avatar" alt="user profile image">
                </div>
                <div class="pull-left meta">
                    <div class="title h5">
                        <a href="#"><b>{{post.user.name}}  </b></a>

                        made a post.
                    </div>
                    <h6 class="text-muted time">(number) minute ago</h6>
                </div>
            </div>
            <div class="post-description">
                <p>{{post.content}}</p>
                <div class="stats">
                    <a href="#" class="btn btn-default stat-item">
                        <i class="fa fa-thumbs-up icon"></i>2
                    </a>
                    <a href="#" class="btn btn-default stat-item">
                        <i class="fa fa-share icon"></i>12
                    </a>
                </div>
            </div>
            <div class="post-footer">
                <form>
                    <div class="input-group">
                        <input  type="text" name="comment" class="form-control" v-model.lazy="comments.comment" :class="{ 'is-invalid': comments.errors.has('comment') }" required="required" autocomplete="off">
                        <has-error  :form="comments" field="comment"></has-error>
                        <span class="input-group-addon">
                                    <button type="submit" class="fa fa-send form-control"  @click.prevent="addComment(post.id)" >Send</button>
                    </span>
                    </div>
                </form>
                <ul class="comments-list" v-for="(comment) in post.comments?post.comments:''">
                    <li class="comment" >
                        <a class="pull-left" href="#">
                            <img class="avatar" src="https://bootdey.com/img/Content/user_1.jpg" alt="avatar">
                        </a>
                        <div class="comment-body">
                            <div class="comment-heading">
                                <h4 class="user">{{comment.user?comment.user.name:"-"}}</h4>
                                <h5 class="time">(number) minutes ago</h5>
                            </div>
                            <p>{{comment.comment}}</p>
                            <form>
                                <div class="input-group">
                                    <input type="text" name="reply" class="form-control" v-model="replies.reply" :class="{ 'is-invalid': replies.errors.has('reply') }" required="required" autocomplete="off">
                                    <has-error  :form="replies" field="reply"></has-error>
                                    <span class="input-group-addon">
                                    <button type="submit" class="fa fa-send form-control"  @click.prevent="addReply(comment.id)" >Send</button>
                    </span>
                                </div>
                            </form>
                        </div>
                        <ul class="comments-list" v-for="reply in comment.reply?comment.reply:''">
                            <li class="comment">
                                <a class="pull-left" href="#">
                                    <img class="avatar" src="https://bootdey.com/img/Content/user_3.jpg" alt="avatar">
                                </a>
                                <div class="comment-body">
                                    <div class="comment-heading">
                                        <h4 class="user">{{reply.user.name}}</h4>
                                        <h5 class="time">(number) minutes ago</h5>
                                    </div>
                                    <p>{{reply.reply}}</p>

                                </div>
                            </li>
                        </ul>
                    </li>
                </ul>
            </div>
        </div>

最简单的方法是将每个帖子、评论和回复放在单独的组件中,记住这是组件,具有单独的状态(或数据),您可以轻松地操作它,这样您不仅写得很难扩展,而且还难以阅读。

但唯一的方法是在循环中绑定状态,就像我说的那样,你可以尝试使用计算

v-model="replies[index].reply"

to:

v-model="replyComputed(index)"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在Vue js中的v-for循环中使用v-model 的相关文章

随机推荐

  • 对 Amazon Alexa Skill Kit (ASK) Lambda 交互进行故障排除

    我从 ASK 开发开始 我对某些行为有点困惑 我想知道如何从 服务模拟器 控制台调试错误 我怎样才能获得更多关于The remote endpoint could not be called or the response it retur
  • C++17 可选树,错误:不完整类型的无效使用

    当我编译包含可选类型的二叉树时 include
  • 无法添加或更新子行,外键约束失败[重复]

    这个问题在这里已经有答案了 1452 无法添加或更新子行 外键约束失败 projectphp1707 sql e6c cd 约束 sql e6c cd ibfk 1外键 order id 参考tbl order order id table
  • javascript更改点击时的背景颜色[关闭]

    Closed 这个问题需要多问focused 目前不接受答案 你能告诉我 Javascript 吗 它允许你将页面的背景颜色更改为另一种颜色 例如 我有蓝色背景颜色 我想将其更改为绿色 当用户按下触发事件的按钮时 必须更改颜色 我看到它存在
  • 访问 Outlook ost 文件

    我已经看到了 pst 和 ost 文件之间的区别 目前正在通过下面给出的代码访问 Outlook pst 文件 有没有办法使用相同的代码来访问 ost 文件 有人可以向我推荐这个吗 private DataTable GetInboxIte
  • JPA - 保持一对多关系

    也许这是一个愚蠢的问题 但它困扰着我 我有员工与车辆之间的双向一对多关系 当我第一次在数据库中保留一个员工 即它没有分配的 ID 时 我还希望保留其关联的车辆 目前这对我来说效果很好 除了我保存的车辆实体没有自动映射关联的员工 并且在数据库
  • PHP 通过周数获取一周的开始和结束日期

    我见过这个问题的一些变体 但我相信这个问题还没有得到解答 我需要获取一周的开始日期和结束日期 按年份和周数 而不是日期 选择 example input getStartAndEndDate week year output return
  • 如何使用 $.ajax 将图像 src 设置为动态图像/png 数据?

    图像是通过一些用户输入参数动态生成的 我能够通过以下方式成功生成图像GET 通过写信给Response OutputStream myImage attr src Images GetImage param1 value1 param2 v
  • 设置 Windows PowerShell 环境变量

    我发现设置 PATH 环境变量仅影响旧的命令提示符 PowerShell 似乎有不同的环境设置 如何更改 PowerShell v1 的环境变量 Note 我想让我的更改永久生效 因此不必每次运行 PowerShell 时都进行设置 Pow
  • 如何保证所有数据都已物理写入磁盘?

    据我了解 NET FileStream 的 Flush 方法仅将当前缓冲区写入磁盘 但依赖于 Windows 的磁盘驱动程序和硬盘固件 这不能保证数据实际上物理写入磁盘 有没有 NET 或 Win32 方法可以给我这样的保证 因此 如果在调
  • Heroku 缩小时出现 H13(连接关闭而无响应)错误

    我正在 Heroku 上使用 uWSGI supervisor 和 nginx 在 Docker 映像中运行 Django 应用程序 当应用程序缩小时 我经常收到 H13 连接关闭但没有响应 错误 此问题会生成以下日志事件 2022 10
  • 如何从我的 Android 应用程序调用谷歌地图,例如调用电子邮件

    try Intent searchAddress new Intent Intent ACTION VIEW Uri parse geo 0 0 emp city location startActivity searchAddress c
  • 在 CakePHP 身份验证组件中使用电子邮件而不是用户名

    我正在研究 cakephp 2 x 我的问题是我不想使用用户名进行日志记录 我正在从用户那里获取电子邮件和密码 并从数据库中验证此电子邮件和密码 我的数据库名称中有一个表user它有 3 个字段id email and password 这
  • 计算数据框中两个长纬度坐标之间的距离

    我想计算几个 GPS 点之间的距离 我试过 distm c lon1 lat1 c lon2 lat2 fun distHaversine 这适用于一点 但不适用于我的数据框中的列 所以我按照这里的建议进行了尝试 计算 2 个经纬度之间的距
  • 使用数据类型“文本”存储字符串有什么缺点吗?

    根据PostgreSQL 文档 它们支持 3 种字符数据数据类型 character varying n varchar n variable length with limit character n char n fixed lengt
  • 为什么我的 Vue 实例的属性和方法在模板中不可用?

    我建立了一个 Vue js CLI 项目 在一个页面上 我想定义一个变量data 然后在我的模板中使用它 为什么下面的代码告诉我 属性或方法 消息 未在实例上定义 但 渲染期间引用 确保声明反应数据 数据选项中的属性
  • 如何在 R 中的 %dopar% 迭代中调用 system()

    我应该如何从并行 R 的子实例调用外部程序 该问题也可能发生在其他情况下 但我正在使用library foreach and library doFuture 基于 slurm 的 HPC 作为一个例子 我创建了一个hello txt其中包
  • 将 NSURLConnection 转换为 NSURLSessionUploadTask 示例

    大家好 提前感谢您为理解如何将一些 NSURLConnection 代码转换为较新的 NSURLSession 提供的帮助 我想做的是向服务器发出 POST 请求 并发送为键 照片 编码的照片 Base 64 下面我有一个用 NSURLCo
  • 按频率对数组进行排序

    我想计算数组中每个字符串出现了多少次 并按它们在数组中存在的次数对它们进行排序 我现在有这个代码 hlasy sort var zaciatok null var pocet 0 for var i 0 i lt hlasy length
  • 如何在Vue js中的v-for循环中使用v-model

    这是我的第一个问题 我真的很绝望 我希望你能帮助我 我正在尝试使用 vuejs 构建像 Facebook 这样的帖子 评论 回复系统 在使用 Axios 获取数据库中的数据 使用 laravel API 后 我使用 v for 循环所有帖子