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


Posted in Javascript onMarch 01, 2018

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

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

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

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

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

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

以上这篇浅谈vue单一组件下动态修改数据时的全部重渲染就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
js截取函数(indexOf,join等)
Sep 01 Javascript
Javascript中找到子元素在父元素内相对位置的代码
Jul 21 Javascript
javascript实现仿百度图片的瀑布流加载效果
Apr 20 Javascript
常用Javascript函数与原型功能收藏(必看篇)
Oct 09 Javascript
微信小程序 开发工具快捷键整理
Oct 31 Javascript
js实现楼层导航功能
Feb 23 Javascript
element UI upload组件上传附件格式限制方法
Sep 04 Javascript
js实现图片实时时钟
Jan 15 Javascript
JavaScript或jQuery 获取option value值方法解析
May 12 jQuery
微信小程序实现自定义动画弹框/提示框的方法实例
Nov 06 Javascript
vue 获取url参数、get参数返回数组的操作
Nov 12 Javascript
基于javascript实现移动端轮播图效果
Dec 21 Javascript
vue 虚拟dom的patch源码分析
Mar 01 #Javascript
基于cropper.js封装vue实现在线图片裁剪组件功能
Mar 01 #Javascript
详解vue-cli 快速搭建单页应用之遇到的问题及解决办法
Mar 01 #Javascript
React Native 图片查看组件的方法
Mar 01 #Javascript
vue-cli结合Element-ui基于cropper.js封装vue实现图片裁剪组件功能
Mar 01 #Javascript
vue.js 实现图片本地预览 裁剪 压缩 上传功能
Mar 01 #Javascript
vue中使用cropperjs的方法
Mar 01 #Javascript
You might like
PHP网页游戏学习之Xnova(ogame)源码解读(十一)
2014/06/25 PHP
PHP 中 var_export、print_r、var_dump 调试中的区别
2018/06/19 PHP
PHP实现抽奖功能实例代码
2020/06/30 PHP
有趣的javascript数组定义方法
2010/09/10 Javascript
JS特殊函数(Function()构造函数、函数直接量)区别介绍
2013/05/19 Javascript
select多选 multiple的使用示例
2014/06/16 Javascript
js replace(a,b)之替换字符串中所有指定字符的方法
2016/08/17 Javascript
JavaScript用构造函数如何获取变量的类型名
2016/12/23 Javascript
babel基本使用详解
2017/02/17 Javascript
jquery中each循环的简单回滚操作
2017/05/05 jQuery
基于node.js制作简单爬虫教程
2017/06/29 Javascript
浅谈在koa2中实现页面渲染的全局数据
2017/10/09 Javascript
npm配置国内镜像资源+淘宝镜像的方法
2018/09/07 Javascript
浅谈layer弹出层按钮颜色修改方法
2019/09/11 Javascript
js 实现watch监听数据变化的代码
2019/10/13 Javascript
vue实现路由监听和参数监听
2019/10/29 Javascript
Vue组件间数据传递的方式(3种)
2020/07/13 Javascript
Vue+Vant 图片上传加显示的案例
2020/11/03 Javascript
vue实现点击出现操作弹出框的示例
2020/11/05 Javascript
[35:27]完美世界DOTA2联赛循环赛 GXR vs FTD BO2第二场 10.29
2020/10/29 DOTA
Python实现的一个找零钱的小程序代码分享
2014/08/25 Python
pygame学习笔记(3):运动速率、时间、事件、文字
2015/04/15 Python
Python多进程并发与多线程并发编程实例总结
2018/02/08 Python
Python 函数基础知识汇总
2018/03/09 Python
Python PyQt4实现QQ抽屉效果
2018/04/20 Python
python 获取字符串MD5值方法
2018/05/29 Python
不知道这5种下划线的含义,你就不算真的会Python!
2018/10/09 Python
python中常见错误及解决方法
2020/06/21 Python
Tensorflow全局设置可见GPU编号操作
2020/06/30 Python
python实现猜拳游戏项目
2020/11/30 Python
技术人员面试提纲
2013/11/28 职场文书
班组长竞聘书
2014/03/31 职场文书
学雷锋树新风演讲稿
2014/05/10 职场文书
预备党员公开承诺书
2014/05/28 职场文书
升学宴家长答谢词
2015/09/29 职场文书
Python实现提取PDF简历信息并存入Excel
2022/04/02 Python