首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Web组件呈现性能

Web组件呈现性能
EN

Stack Overflow用户
提问于 2017-09-26 16:35:40
回答 4查看 7.4K关注 0票数 6

与本机HTML元素相比,Web组件具有更好的性能。因为每个元素只有在附加到DOM时才会发生变异。因此,元素回调中的昂贵操作会导致性能低下。

我用connectedCallback句柄编写了一个包含一些昂贵实现的示例Web组件,当我尝试呈现该组件时,每个组件都需要连续的时间。

在Web组件上,我没有看到任何与性能相关的参考点。

更新1 我已经创建了一个带有本机和Web组件实现的小页面,似乎Web组件页面花了4ms才完成,但是本机只使用了1ms。请看我的表演屏幕。在Web组件中,脚本编写需要更多的时间。 本机HTML示例:

Web组件示例:

EN

回答 4

Stack Overflow用户

发布于 2017-09-27 11:40:50

由于自定义元素正在扩展本地HTML元素(通过class extends HTMLDivElement),并添加了额外的特性,我想说:在最好的情况下,它们只能与本地HTML元素一样好。

与第三方框架(不利用这种新技术)相比,性能的提高是: Web组件应该更快。

当比较本机和多填充自定义元素实现时,您可以看到它。

票数 7
EN

Stack Overflow用户

发布于 2018-02-13 01:45:44

使用StencilJS (github)可以大大提高web组件的性能。它将非常容易地完成许多优化工作,以及为您的web组件实现一个虚拟DOM,以实现最佳的呈现。

你可以检查 这里的表演。

票数 5
EN

Stack Overflow用户

发布于 2018-05-12 03:42:52

我在想,如果您只是简单地做了一个简单的"Hello“,那么当然本机元素将是赢家,因为它不需要JS来工作,而定制元素需要JS来定义和启动文本的呈现。

现在,一个更好的比较是,假设使用相同的代码库,您只使用JS和本机元素创建一个旋转木马,以及一个自定义元素(即旋转木马)。那么我认为渲染性能将是相等的。我认为使用自定义元素而不是通过JS操作本机元素的唯一优点是,您可以在任何地方重用自定义标记,它将作为一个旋转木马工作,而不是当您必须在仅使用本机元素创建的每个旋转木马上使用new Carousel(document.querySelector('.carousel'))时。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46431688

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档