探讨vue.js2新的虚拟DOM

探讨vue.js2新的虚拟DOM
你可能已经听说vue.js 2。主要的和令人兴奋的功能是虚拟性除了更新页面。

虚拟DOM能做什么

反应和灰烬都使用虚拟DOM来提高页面刷新速度

更新DOM需要很长时间。

当我们使用Javascript来更改页面时,浏览器必须做一些工作来找到所需的DOM节点,并做出类似的更改。
document.getelementbyid('myid)。AppendChild(mynewnode);
目前应用程序的DOM中可能有成千上万个节点,因此更新需要更长的时间。

我们可以使用Javascript对DOM节点进行虚拟化。

在HTML中,DOM节点通常表示以下内容:
项目1
项目2
DOM节点也可以用Javascript来表示对象,如下所示:
DOM节点的伪代码表示为Javascript
让domnode = { {
标签:'ul
属性:{编号:'myid}
孩子们:{
李的在哪里
}
};
这是我们的虚拟DOM。

更新虚拟节点并不昂贵。
这可能是我们如何更新虚拟DOM的方法
DomNode.children.push('item 3);
如果我们使用虚拟DOM不是调用DOM API的方法类似to.getelementbyid直接在代码,操作会改变JS对象简单省时。

下一步是同步我们对真正DOM的更改,并且使用一个非常有效的函数
此函数将调用DOM并进行更改。
到真DOM。它会分批和
比任意更新更有效率。
同步(originaldomnode,domnode);
Vue.js说虚拟DOM在2版本中,这是很好的…对吗

就像生活中的一切和Web开发一样,虚拟DOM也有优点和缺点。

尺寸-其中之一是更多的功能意味着在代码包的代码行。幸运的是,vue.js 2(21.4kb更小的当前版本),也去除了许多东西。

内存——虚拟DOM还需要将现有的DOM副本保存在内存中,这是DOM更新和内存使用速度的权衡。

它不适用于所有情况——如果可以在批处理修改虚拟DOM是非常好的,但是如果它是一个单独的、罕见的更新呢任何这样的DOM更新会带来意义上的虚拟影像。

因此,如果项目中只有少量的节点,那么使用虚拟DOM会带来速度上的质变吗事实上,它更可能使它更慢!

但对于大多数的单页应用程序,它仍将得到推广。

不只是表现

虚拟DOM的使用不仅是一次性的优化,而且意味着更多的功能。

例如,您可以使用虚拟DOM直接通过渲染()方法创建一个新的节点:
新的Vue({
EL:# APP,
数据:{
留言:你好世界
},
渲染(){
var node =这$ createElement;
返回节点(
div,
{属性:{编号:'myid} },
this.message
);
}
});
输出:
你好世界
你为什么这么做它可以为Javascript提供完全的编程能力,可以使用Javascript数组方法创建工厂函数来构建虚拟节点等,而模板语法处理则可以使其更加复杂。

以上是2个新的虚拟vue.js DOM Xiaobi介绍的知识,希望对大家有帮助。如果你有任何问题,请给我留言,萧边会及时给您回复。谢谢您支持网站
免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部