修身养性,知行合一

  • 首页
  • 爱码
    • 系统
    • 数据库
    • JavaScript
    • CSharp
    • Python
  • 生活
    • 文化
    • 美食
  • 杂谈
  • 关于
修身养性,知行合一
码字,杂谈
  1. 首页
  2. 爱码
  3. 前端
  4. JavaScript
  5. Vue
  6. 正文

vue3 在 v-for 中实现双向绑定

2024年5月6日 2107点热度 0人点赞 0条评论

在 vue3 中,如果在 v-for 中直接给子组件双向绑定数据,会报:

file

这是因为我们使用 v-for 将一个数组循环出来,每一个数据都应该是只读的。此时,我们如果需要修改数组内的数据,应该使用下标:

<template v-for="(item, index) in dataList" :key="item.id">
    // 错误写法 <ChildComponent v-model="item" />  <!-- 这样写会报错 -->
    <ChildComponent v-model="dataList[index]" /> <!-- 需要这样写 -->
</template>

如果不保证数组一定有值,则会报找不到下标的错误,此时需要在外面套一层判断即可:

<template v-if="dataList.length > 0">
    <template v-for="(item, index) in dataList" :key="item.id">
        <!-- 省略内容 -->
    </template>
</template>
本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可
标签: vue
最后更新:2024年5月6日

jeremyjone

这个人很懒,什么都没留下

打赏 点赞
< 上一篇
下一篇 >

文章评论

取消回复

最新 热点 随机
最新 热点 随机
行间距引出的 DOCTYPE 怪异行为 写个小彩蛋 绘制一个可重用的线条阴影 node-sass 的安装 解决端口被占的问题 vue3 组件 Props 的声明方式
行间距引出的 DOCTYPE 怪异行为
行间距引出的 DOCTYPE 怪异行为 docker 自动更新 vscode 收起多余的配置文件 真丶深入理解JavaScript异步编程(三):async / await 给MySQL用户添加远程权限 从vuepress升级到vitepress小记

(っ•̀ω•́)っ✎⁾⁾ 开心每一天

COPYRIGHT © 2021 jeremyjone.com. ALL RIGHTS RESERVED.

THEME KRATOS MADE BY VTROIS

京ICP备19012859号-1

京公网安备 11010802028585号