Chrome 浏览器中的 Angular 多行网格性能

2024-02-20

我需要制作一个组件,其中包含一个包含大量行的表。 所有这些都适用于小数据。但如果项目数增长到 2000 或更多,它就会变得滞后。滚动,尤其是动画变得太慢。

我也尝试过设置trackBy函数为ngFor但在这种情况下它对性能没有影响。

请参见堆栈闪电战 https://stackblitz.com/edit/angular-t72ugv例子;

正如您所看到的,当您使用 100 个项目时,所有功能都完美,但在 2000 个项目上,它会冻结,而在 10,000 个项目上,则无法使用。

我想知道在 Angular 中显示包含大量数据的网格的正确方法是什么,以及如何提高此类页面的性能?

是否有一些延迟加载实现的示例,我可以通过仅可见行在 DOM 中以 html 形式呈现,并且除滚动之外的所有行都从 DOM 中删除的方式来实现吗?

任何想法将不胜感激。

UPDATE

我有最新版本的 Chrome 浏览器:版本 66.0.3359.181(官方版本)(64 位)。

我已经在不同的电脑、浏览器上进行了尝试:它仅在 chrome 中冻结(在 mac book 上的 chrome 中,它比在 PC 上运行得更好,但比在 safari 中运行更差,例如)。


正确的方法是当应用程序动态销毁元素时应用虚拟滚动方法,因为它们变得不可见。我知道 Angular 有两种解决方案:

  • Angular2 虚拟滚动 https://github.com/rintoj/angular2-virtual-scroll,目前最受欢迎,有一些有趣的分叉
  • ngx-ui-滚动 https://github.com/dhilt/ngx-ui-scroll,由我维护,有任何问题请随时提问
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Chrome 浏览器中的 Angular 多行网格性能 的相关文章

  • 无法重新加载/刷新活动路线

    我最近更新了新的 RC3 和 Router3alpha 似乎有些事情发生了变化 我注意到单击活动路径的链接不再导致组件重新加载 如何使用新的 router3 实现此行为 我的链接看起来像 a Link1 a 为了测试我只是在 ngOnIni
  • 两个 Div 之间的固定宽度间隙

    有谁知道如何修复两个 div 之间的间隙 我有一个主要内容 Div 里面有两个带有图片的 Div 视图的宽度为 768 像素 当我开始拉伸视图时 两张图片开始相互远离 但理想情况下 主要内容 Div 应该在周围有空白的情况下拉伸 并且图片之
  • 通过 JavaScript 检测浏览器换行

    我需要 javascript 来检测每个浏览器包装的文本行并将其包装到 span class line 我读过一些关于测量每个单词的 y 轴的文章 但还没有看到可靠的解决方案 这是我到目前为止所拥有的 看到它Jsfiddle http js
  • 使用纯javascript选择最接近id的id

    div div TEXT div div div div TEXT div div div TEXT div 如何选择最接近div1的div2 关注w3docs https www w3 org TR html4 struct global
  • html 和 body 元素的高度

    我一直在互联网上查找 min height 和 height 属性如何在 body 和 html 元素上工作 我在很多地方都看到过下面的代码 html height 100 body min height 100 上面的内容可以与其他一些
  • Google Maps API 下拉列表,缩放至标记

    我正在使用 Google Maps API v3 我有一个带有一些标记的简单地图 我还有一个下拉列表 我需要最少的代码来完成这项工作 我想在下拉列表中选择一个标记 并将选定的标记平移到它 我已经尝试了一切并在网上查看 我发现事情很接近 但到
  • React-native-vision-camera无法访问后面的普通摄像头

    我正在尝试在 iPhone 11 Pro 上使用 普通 相机 我使用反应本机视觉相机 当我运行这段代码时 const devices useCameraDevices const deviceBack devices back consol
  • 为什么自关闭 iframe 标签会阻止显示更多 DOM 元素?

    在 Firefox 和 Safari 上 以下代码仅显示第一个 iframe 而添加结束标签可以解决问题 我不明白为什么它不起作用 当使用 DOMParser 解析第二个示例时 它无论如何都会转换为自关闭 iframe 在这里小提琴 htt
  • 如何动态打破 FlexBox 列以开始新列

    I have a dynamic list of items containing text placed column wise which I need to break after every 5th item 我只有两个限制 每个
  • 如何在同一页面上使用AJAX处理多个表单

    我有一个表单 当我单击 提交 时 它就被提交了 然后该表单隐藏 操作页面的结果显示在 div 中 classname dig 它工作正常 但是当我添加另一个表单时 它停止正常工作并且所有表单同时提交 我如何更改我的代码 done click
  • 在html表格的每一行添加点击功能

    我最近创建了一个函数 它根据用户在网站中的输入进行一些复杂的名称匹配 并将结果作为表格格式的 html 文件返回 我的问题是如何在每一行添加点击功能 df get cust info returns a pandas dataframe d
  • 如何指定网站的语言? (HTML?)

    如何指定页面采用某种语言以便搜索引擎可以理解 这是我放在顶部的元标记吗 如果是 您知道大多数搜索引擎是否使用它来确定语言吗 我已将一页英文内容转换为几种不同的语言 并希望将该信息包含在 html 中 让搜索引擎知道他们正在处理哪种语言 快速
  • 会话重新启动后 AVcapture 会话启动缓慢

    我有一个主视图控制器 它连接到具有 avcapturesession 的第二个视图控制器 我第一次从主视图控制器转向捕获会话控制器 大约需要 50 毫秒 使用 仪器 检查 然后我从捕获会话返回到主视图控制器 然后从主控制器返回到 avcap
  • 使用 jQuery/JS 打开时使
    标签的内容具有动画效果

    我只想要 HTML5 的内容details标记为 滑行 动画打开 而不是仅仅弹出打开 立即出现 这可以用 jQuery Javascript 实现吗 Fiddle http jsfiddle net 9h4Hq HTML
  • 如何将背景图像仅应用于一个反应页面而不是整个应用程序?

    注册页面示例 register background image linear gradient to right ff5722 0 ff9800 100 margin top 150px important div div div div
  • Winui 3 中的 WebView2:如何加载嵌套在应用程序中的本地 HTML 文件

    我正在寻找一种用某种 Windows 应用程序包装我的 Ionic Angular 应用程序的方法 我正在研究 Electron 并且有问题 但也在调查我是否刚刚创建了自己的 WinUI3 应用程序并使用了 Webview2 虽然这是 Io
  • 标签获取 href 值

    我有以下 html div class threeimages a img alt Australia src Images Services 20button tcm7 9688 gif a div class text h2 a hre
  • jquery从变量中删除html元素

    我将 html 保存在变量中 var itinerary events today html 我有很多 html 和一个按钮我想删除 它的 ID 为 myButton 如何从变量中保存的 html 中删除它 我建议这种方法 var itin
  • Angular 2+ 安全性;保护服务器上的延迟加载模块

    我有一个 Angular 2 应用程序 用户可以在其中输入个人数据 该数据在应用程序的另一部分进行分析 该部分仅适用于具有特定权限的人员 问题是我们不想让未经授权的人知道how我们正在分析这些数据 因此 如果他们能够在应用程序中查看模板 那
  • 在 Angular 6 表单生成器中找不到具有未指定名称属性的控件

    当尝试使用 HTML 文件更新网格表时 我收到此错误消息 在这里 我使用了静态数据来显示表格 并从显示 primeng 表的其他组件导入 并且我添加了一个更新按钮 该按钮具有重定向到另一个页面以更新数据的功能 该问题出现在 HTML 文件的

随机推荐

  • Trello iPhone 应用程序是如何开发的?

    我想知道 Trello iPhone 应用程序正在使用哪些库或框架 是一个带有JS框架的webapp吗 如果有 是哪一个 还是本土的 这里有哪些框架 我很好奇 因为我真的很喜欢它的用户界面 并且在互联网上搜索过但没有运气 我是 Trello
  • 我如何知道“ThisWorkbook”是“工作簿”?

    我正在使用 VBIDE API 并且不能假设主机应用程序是 Excel 或任何 Office 应用程序 所以我所知道的是我正在看一个VBComponent 并且它的Type is vbext ct document 在VBE中立即窗格我可以
  • Facebook批量请求多个用户

    我有一个来自 Facebook 的用户数据库 我想使用批量请求获取他们的数据 兴趣和朋友的生日 现在我可以为 1 个用户发出 1 批请求 但考虑到没有 我的应用程序中的用户数量巨大 肯定会达到极限 我想知道是否有办法在批量请求中获取多个用户
  • 在后面的代码中创建旋转轴标签的样式

    我需要创建一个旋转 x 轴标签的样式 我找到了这个例子 轻松旋转 Silverlight WPF Toolkit 图表的轴标签 http blogs msdn com b delay archive 2010 03 06 turn your
  • 桌面上是否有元标记或类似视口初始比例的东西?

    我知道您认为这是一个奇怪的请求 但是我目前正在与一位客户打交道 他给了我一个模板 并在浏览器中看到它并完成所有 HTML 后决定将其缩小 70 从而把我们俩所做的所有工作都抛到了九霄云外 如果我可以将比例调整为 0 7 70 那就完美了 项
  • Java字符串在数据库中保存为unicode[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 有关您编写的代码的问题必须描述具体问题 and 包含有效代码重现它 在问题本身中 看SSCCE org http sscce org 以获
  • Pivotal tc Server v.3.1 无法启动

    我最近下载了STS我尝试启动 TC 服务器 但出现以下错误 Server Pivotal tc Server Developer Edition v3 1 failed to start Error Could not find or lo
  • 获取当前片段并保存 onSaveInstanceState() 方法以实现屏幕方向

    我有一个包含多个片段的活动 我还使用 actionbarSherlock 作为我的选项卡 它也连接到片段 我的问题是当我要旋转屏幕 即从纵向到横向 反之亦然 时 我的活动将再次被调用 因此它会重新启动我的活动 我不想重新启动我的活动 而只是
  • 为所有齐射请求设置自定义标头

    重写 getHeaders 可以在必要时向请求添加自定义标头 但是如果总是需要设置 X 标头怎么办 例如静态身份验证令牌 JsonObjectRequest req new JsonObjectRequest URL new JSONObj
  • postgresql 9.2 中 varchar(n) 的最大长度是多少?最好使用 varchar(n) 或 text?

    您好 我正在使用 postgresql 9 2 我想使用 varchar n 来存储一些长字符串 但我不知道 varchar n 支持的最大字符长度 哪一个更好用 你能给我推荐一下吗 谢谢 tl dr 1 GB 每个字符 实际上 代码点 可
  • C++0x 标准如何定义 C++ Auto 多重声明?

    嗯 我对即将推出的 C 0x 标准中的多个自动声明有点困惑 auto a 10 b 3 f c new Class 我在某处读到这是不允许的 原因是 因为不清楚连续声明是否应该与第一个声明具有相同的类型 示例中为 int 可能的翻译1 in
  • 在 Julia 中将类型参数引用为函数参数

    我正在尝试在 Julia 中创建 integer mod p 类型 我确信已经有一个包用于此 这只是个人练习 type Intp p v Int8 end function add a Intp p b Intp p return Intp
  • 蚂蚁串比较

    我在 ant 中有一个脚本 我需要按字典顺序比较 2 个字符串 就像是 1 2 3 compareTo 1 2 4 我找不到办法这样做 有什么想法吗 我正在使用 ant 1 8 和 ant contrib Thanks 为了使此解决方案发挥
  • 如何提高System.currentTimeMillis()粒度?

    如何在不提供非常大的数组作为输入的情况下实现它 我正在测量不同算法的运行时间 对于 20 个元素的数组 我得到非常 相同 相似的值 我尝试将总时间除以 1000000000 来清除E然后使用了 16 个镜像 我复制了输入数组并为镜像再次执行
  • 带摄像头预览的 SurfaceView 不会被破坏

    我有一个带有 2 个选项卡 活动 的选项卡活动 每个选项卡都有一个绘制在带有相机预览的 SurfaceView 顶部的 3d Open GL 场景 然而 根据设备方向 选项卡正在切换 问题是 当另一个活动启动时 它调用camera open
  • AttributeError:模块“numpy”没有属性“flip”

    错误信息 AttributeError 模块 numpy 没有属性 flip 我不明白为什么它会给我这个错误 我用谷歌搜索并确保我已经更新到最新版本的 numpy 我的工作目录中肯定没有另一个名为 numpy 的文件 任何帮助将不胜感激 n
  • r 为 ggplot2 安装色彩空间时出错

    我是 r 新手 希望能得到一些安装 ggplot2 的帮助 我使用的是 RStudio 版本 0 98 1102 请参阅下面的错误 install packages ggplot2 运行良好 library ggplot2 loadName
  • 如何从 Angular 2 Material Design 中设置 md-select 组件的默认值?

    我有以下选择组件 它是从来自 REST API 的数据填充的 如何在 md select 上设置默认选择值
  • 显示:内联块额外边距[重复]

    这个问题在这里已经有答案了 我正在和几个人一起工作div被设置为display inline block并有一套height and width 在 HTML 中 如果每个后面有一个换行符divdiv 的右侧和底部会自动添加 5 像素边距
  • Chrome 浏览器中的 Angular 多行网格性能

    我需要制作一个组件 其中包含一个包含大量行的表 所有这些都适用于小数据 但如果项目数增长到 2000 或更多 它就会变得滞后 滚动 尤其是动画变得太慢 我也尝试过设置trackBy函数为ngFor但在这种情况下它对性能没有影响 请参见堆栈闪