浅谈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