博客
关于我
vue 数据刷新 但 dom层不刷新问题
阅读量:724 次
发布时间:2019-03-21

本文共 780 字,大约阅读时间需要 2 分钟。

我遇到了一个 Vue.js 开发中的问题,具体描述如下:

在使用 Vue.js 和 Element UI 开发一个动态渲染数据的页面时,发现点击一个加号按钮后,旁边的数字没有及时更新。虽然数据变量确实修改了,但 DOM 并没有相应地反映出变化。经过检查,发现计数器中的数据确实被更新,但 DOM 没有更新。尝试多次使用 $set 数据绑定方法后,发现每次操作后页面无法继续交互,页面卡顿严重。最终决定使用 $nextTick 手动触发刷新,但也出现了类似问题。

经过深入分析,问题根源在于虽然数据被修改了,但 DOM 层面上并没有被通知到数据的变化,导致 UI 没有更新。数据的变化未能正确反映到 DOM 中,影响了用户体验。

总结解决方法:

  • 深拷贝数据:通过将数据进行深拷贝,可以确保 shallowCopy 后的数据与原数据有差异,从而让 Vue 识别到数据的变动,触发 DOM 更新。使用以下代码进行深拷贝:
  • this.list = JSON.parse(JSON.stringify(this.list))
    1. 手动触发 DOM 更新:使用 Vue.nextTick() 在数据修改后手动触发 DOM 更新。确保在数据修改后,DOM 收到通知并及时刷新:
    2. this.$nextTick(() => {  this.list = JSON.parse(JSON.stringify(this.list))})
      1. 强制刷新 DOM:在某些情况下,使用 this.$forceUpdate() 可以强制重绘 DOM,但需谨慎使用,以免影响性能:
      2. this.$forceUpdate()

        结论:数据的变化已经被正确识别,但 DOM 未能及时更新。通过深拷贝数据或手动触发 DOM 更新,可以解决这个问题。建议优先使用深拷贝的方法,因为它更加稳定,且不会导致性能问题。

    转载地址:http://dsfgz.baihongyu.com/

    你可能感兴趣的文章
    Nginx:NginxConfig可视化配置工具安装
    查看>>
    ngModelController
    查看>>
    ngrok | 内网穿透,支持 HTTPS、国内访问、静态域名
    查看>>
    NHibernate学习[1]
    查看>>
    NHibernate异常:No persister for的解决办法
    查看>>
    NIFI1.21.0_Mysql到Mysql增量CDC同步中_日期类型_以及null数据同步处理补充---大数据之Nifi工作笔记0057
    查看>>
    NIFI1.21.0_Mysql到Mysql增量CDC同步中_补充_更新时如果目标表中不存在记录就改为插入数据_Postgresql_Hbase也适用---大数据之Nifi工作笔记0059
    查看>>
    NIFI1.21.0_NIFI和hadoop蹦了_200G集群磁盘又满了_Jps看不到进程了_Unable to write in /tmp. Aborting----大数据之Nifi工作笔记0052
    查看>>
    NIFI1.21.0通过Postgresql11的CDC逻辑复制槽实现_指定表多表增量同步_增删改数据分发及删除数据实时同步_通过分页解决变更记录过大问题_02----大数据之Nifi工作笔记0054
    查看>>
    NIFI1.21.0通过Postgresql11的CDC逻辑复制槽实现_指定表或全表增量同步_实现指定整库同步_或指定数据表同步配置_04---大数据之Nifi工作笔记0056
    查看>>
    NIFI1.23.2_最新版_性能优化通用_技巧积累_使用NIFI表达式过滤表_随时更新---大数据之Nifi工作笔记0063
    查看>>
    NIFI从MySql中增量同步数据_通过Mysql的binlog功能_实时同步mysql数据_根据binlog实现数据实时delete同步_实际操作04---大数据之Nifi工作笔记0043
    查看>>
    NIFI从MySql中增量同步数据_通过Mysql的binlog功能_实时同步mysql数据_配置binlog_使用处理器抓取binlog数据_实际操作01---大数据之Nifi工作笔记0040
    查看>>
    NIFI从MySql中增量同步数据_通过Mysql的binlog功能_实时同步mysql数据_配置数据路由_实现数据插入数据到目标数据库_实际操作03---大数据之Nifi工作笔记0042
    查看>>
    NIFI从MySql中离线读取数据再导入到MySql中_03_来吧用NIFI实现_数据分页获取功能---大数据之Nifi工作笔记0038
    查看>>
    NIFI从MySql中离线读取数据再导入到MySql中_无分页功能_02_转换数据_分割数据_提取JSON数据_替换拼接SQL_添加分页---大数据之Nifi工作笔记0037
    查看>>
    NIFI从PostGresql中离线读取数据再导入到MySql中_带有数据分页获取功能_不带分页不能用_NIFI资料太少了---大数据之Nifi工作笔记0039
    查看>>
    nifi使用过程-常见问题-以及入门总结---大数据之Nifi工作笔记0012
    查看>>
    NIFI分页获取Mysql数据_导入到Hbase中_并可通过phoenix客户端查询_含金量很高的一篇_搞了好久_实际操作05---大数据之Nifi工作笔记0045
    查看>>
    NIFI同步MySql数据_到SqlServer_错误_驱动程序无法通过使用安全套接字层(SSL)加密与SQL Server_Navicat连接SqlServer---大数据之Nifi工作笔记0047
    查看>>