修身养性,知行合一

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

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

2024年5月6日 2451点热度 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

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

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

文章评论

取消回复

最新 热点 随机
最新 热点 随机
推一个vscode纯黑主题 vue 的递归插槽穿透 Github Pages SPA 重定向 行间距引出的 DOCTYPE 怪异行为 写个小彩蛋 绘制一个可重用的线条阴影
推一个vscode纯黑主题
MySql的BLOB格式 Terminal中git log不显示中文问题的解决方案 js 中优雅的捕获 await 的异常 从vuepress升级到vitepress小记 手撸了一个基于Vue的Gantt组件 resharper2019.3.3最新激活方案

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

COPYRIGHT © 2021 jeremyjone.com. ALL RIGHTS RESERVED.

THEME KRATOS MADE BY VTROIS

京ICP备19012859号-1

京公网安备 11010802028585号