前言

vue 数组动态刷新失败,包括视使用pop、push、splice,shift等数组函数和this.$forceUpdate()强制刷新等方式也是失败的

原因

其实原因不在于所谓的,vue不监听数组的问题,
事实上,只是由于 JavaScript 的限制,Vue 不能检测以下数组的变动:

当你利用索引直接设置一个数组项时:

  • 例如:vm.items[indexOfItem] = newValue

当你修改数组的长度时,

  • 例如:vm.items.length = newLength

但是我是直接赋值的
vm.items. = new item;
这种方式,vue依旧是可以监听到的,所以我尝试了上面的几种方式,都未成功

最后,我突然看到一个词** “就地复用” **,在官网上,有这么的一句话

当 Vue.js 用 v-for 正在更新已渲染过的元素列表时,它默认用 “就地复用” 策略。如果数据项的顺序被改变,Vue将不是移动 DOM 元素来匹配数据项的顺序, 而是简单复用此处每个元素,并且确保它在特定索引下显示已被渲染过的每个元素。
这个默认的模式是有效的,但是只适用于不依赖子组件状态或临时 DOM 状态(例如:表单输入值)的列表渲染输出。

所以,我就尝试加一个唯一id作为key值,最终成功了

所得

  • 直接使用对象的属性进行修改,页面是不能冬天刷新的
  • 视同v-for的时候,尽量加上唯一值作为key,避免vue使用“就地复用” 策略,导致显示出现问题

vue 数组动态刷新失败相关推荐

  1. vue数组转Excel表格导出

    vue数组转Excel表格导出 安装依赖 npm i xlsx vue组件 <template><div><el-button type="success&qu ...

  2. vue数组中数据变化但是视图没有更新解决方案

    vue数组中数据变化但是视图没有更新解决方案 参考文章: (1)vue数组中数据变化但是视图没有更新解决方案 (2)https://www.cnblogs.com/sufubo/p/6906261.h ...

  3. vue -V 执行失败 檔案名稱、目錄名稱或磁碟區標籤語法錯誤。

    vue -V 执行失败 提示 :檔案名稱.目錄名稱或磁碟區標籤語法錯誤. 安装 @Vue/cli 流程 yarn global add @vue/cli yarn global v1.22.10 [1 ...

  4. JavaScript中字符串数组赋值失败,不是每个字符串,却是字符。

    我的处女作<Canvas系列教程>在我的Github上正在连载更新,希望能得到您的关注和支持,让我有更多的动力进行创作. 教程介绍.教程目录等能在README里查阅. 传送门:https: ...

  5. vue数组转换成对象

    vue数组转换成对象 const data = [{ key: "alan", value: 12 },{ key: "mike", value: 18 } ] ...

  6. vue数组循环遍历中途跳出整个循环

    vue数组循环遍历中途跳出整个循环,使用some进行循环,return true时,跳出整个循环 judgePoint(arr) {if (this.haveError) {this.haveErro ...

  7. 2021-10-27 Vue安装脚手架npm install -g @vue/cli命令失败_因为文件已存在

    这里写自定义目录标题 Vue安装脚手架npm install -g @vue/cli命令失败_因为文件已存在 Vue安装脚手架npm install -g @vue/cli命令失败_因为文件已存在 1 ...

  8. vue数组的删除和追加操作

    vue数组的删除和追加操作 1.Vue.js 数组追加合并与对象追加合并[Object.assign()] 2.Vue.js中splice()方法实现对数组进行增删改的操作

  9. Vue 数组更新与排序过滤

    前面的话 Vue 的核心是数据与视图的双向绑定,当我们修改数组时,Vue会检测到数据变化,所以用v-for 渲染的视图也会立即更新.Vue为了增加列表渲染的功能,增加了一组观察数组的方法,而且可以显示 ...

最新文章

  1. Chrome 94 加入网页开发新技术,或有助于提高云游戏体验
  2. 当我们输入一条SQL查询语句时,发生了什么?
  3. PDF发明者逝世,曾因学生建议转行计算机,享年81岁
  4. c++find函数_Excel中八大经典函数组合,帮你整理齐了
  5. 计算机网络【10】—— Cookie与Session
  6. jquery checkbox attr区别prop
  7. redis生产环境持久化_在SageMaker上安装持久性Julia环境
  8. 【error】Invalid ADAPTORNAME specified. Type 'imaqhwinfo' for a list of available ADAPTORNAMEs.
  9. 前端学习(506):垂直居中的第二种方式
  10. CCIE-LAB-第十二篇-EIGRP+EIGRP末节区域+leak map+分发列表
  11. linux内核I2C体系结构(注意结构体原型)
  12. [T-ARA][놀아볼래?][要玩吗]
  13. 完整教程--idea使用git进行项目管理
  14. Linus Torvalds 警告:勿用 Linux 5.12 rc1,担心供应链攻击?
  15. ObjC学习3-类、继承、重载
  16. ZOJ 3988 2017CCPC秦皇岛 H:Prime Set(二分匹配)
  17. 【luogu4145】 上帝造题的七分钟2 / 花神游历各国 [线段树]
  18. python人脸检测与微信小程序_微信小程序人脸识别功能
  19. xp 无线网络 搜索 服务器,WinXP系统搜索不到无线网络的解决方法【图】
  20. 文字闪图怎么做?如何制作gif闪图?

热门文章

  1. 平面设计的概念和基础
  2. html5使用 lrz,压缩上传图片
  3. Win10电脑开机PIN码怎么取消?
  4. 分布式事务及分布式事务的解决方案seata
  5. PYTHON CIS线阵相机(PYTHON CISC)
  6. 在工作中如何保持稳定的情绪
  7. 游戏建模:学习3Dmax心路历程感悟以及总结,不建议使用汉化版
  8. AOP 原理分析《四》- 获取增强器
  9. taotao shopping mall---【积跬步 1】
  10. 两篇人脸对齐文献概述