浅谈vue单一组件下动态修改数据时的全部重渲染

作者:Aman920_ 时间:2024-04-27 15:51:55 

今天在学习vue的过程中,发现一个有趣的现象。

在某一组件下的某一数据通过点击事件被动态修改的时候,对应view中的数据同步的进行了修改,没错,这不是废话吗,vue的一大特色就是数据的双向绑定。可有趣的是,该组件下我写的另一个用Math.random()的data值对应的值和视图也发生了变化

这就让我这个刚入门的小白有点奇怪了,我修改一个,怎么变了两个????脑洞放开一想,会不会数据在双向同步的时候,发生了什么,比如。是不是只要有一个节点变了,node都重新进行了加载???

我想这其中的缘由必定和vue数据的双向绑定的原理有关联,就搜索了一番,果然发现了些东西,就是DocumentFragment,之前好像见过,但没怎么重视。那么它是用来干啥的呢:

DocumentFragment(文档片段)可以看作节点容器,它可以包含多个子节点,当我们将它插入到 DOM 中时,只有它的子节点会插入目标节点,所以把它看作一组节点的容器。使用 DocumentFragment 处理节点,速度和性能远远优于直接操作 DOM。

手动划重点:Vue 进行编译时,就是将挂载目标的所有子节点劫持(真的是劫持,通过 append 方法,DOM 中的节点会被自动删除)到 DocumentFragment 中,经过一番处理后,再将 DocumentFragment 整体返回插入挂载目标。

来源:http://blog.csdn.net/MrZZhou/article/details/72861580

标签:vue,组件,渲染,修改
0
投稿

猜你喜欢

  • 合并网页中的多个script引用实现思路及代码

    2023-06-29 09:02:19
  • Python3爬虫学习之MySQL数据库存储爬取的信息详解

    2024-01-19 23:06:19
  • Python多线程threading和multiprocessing模块实例解析

    2023-05-11 13:30:51
  • 关于vs2019安装不了扩展问题的解决方法

    2023-10-08 06:57:29
  • ASP数据库连接方式大全

    2023-07-12 05:52:59
  • 详解Python如何轻松实现定时执行任务

    2022-02-02 16:44:42
  • 简单的Vue SSR的示例代码

    2023-07-02 17:08:46
  • keras的get_value运行越来越慢的解决方案

    2023-10-22 14:53:49
  • pygame库实现俄罗斯方块小游戏

    2022-09-11 10:43:37
  • Python实现npy/mat文件的保存与读取

    2023-07-22 08:49:48
  • Python基础篇之字符串方法总结

    2022-11-25 11:42:36
  • Zabbix实现监控多个mysql过程解析

    2024-01-25 20:24:53
  • JS实现十字坐标跟随鼠标效果

    2024-04-22 22:43:00
  • JavaScript 扩展运算符用法实例小结【基于ES6】

    2024-04-22 13:06:03
  • 黑客谈 MSSQL SA权限入侵的感悟

    2008-03-20 10:18:00
  • Python中asyncore异步模块的用法及实现httpclient的实例

    2021-02-19 01:05:18
  • 关于Python字典(Dictionary)操作详解

    2022-02-04 15:25:01
  • asp.net中如何调用sql存储过程实现分页

    2024-01-27 23:49:57
  • Flask框架单例模式实现方法详解

    2023-01-24 17:04:55
  • Python os模块中的isfile()和isdir()函数均返回false问题解决方法

    2022-04-16 19:40:58
  • asp之家 网络编程 m.aspxhome.com