【问题标题】:AngularJS + UI-Grid + Bootstrap tab + Application PerformanceAngularJS + UI-Grid + Bootstrap 选项卡 + 应用程序性能
【发布时间】:2018-01-03 13:34:16
【问题描述】:

我正在使用引导 (uib) 选项卡、角度 1、角度用户界面网格。每个选项卡都包含一个网格,并且每个选项卡还可以有子选项卡。 我在应用程序中面临严重的性能问题。

数据性质 - 无法分页的树状结构。大小可以以 MB 为单位。 我尝试了两种方法:

方法一: 我使用 ng-show 在每个选项卡中渲染网格,从而在选项卡切换时将 DOM 保留在浏览器中。 当打开多个标签时,它确实会降低应用程序的速度。

方法二: 如果我使用 ng-if 在每个选项卡中呈现网格,这会在选项卡切换时删除 DOM,则在选项卡切换时会花费很多时间。 因为它必须再次重新渲染整个网格。之后,我需要在该网格上再次应用状态更改以恢复 以前的状态。

【问题讨论】:

  • 您能否按需加载网格而不是一次全部加载?比如:<uib-tab index="$index" select="load_grid($index)">{{tab.content}}</uib-tab>
  • 是的,我在第二种方法中这样做。在这种情况下,渲染需要很长时间。

标签: javascript angularjs twitter-bootstrap angular-ui-grid


【解决方案1】:

我认为您可以继续使用方法 2,但请按照以下步骤操作:

  1. 初始化所有没有数据的网格
  2. 只需为第一个网格加载数据,将数据绑定到它。
  3. 为其他网格加载数据。将它们保存在一些变量中。
  4. 当用户点击其他标签时,绑定相关数据。

如果你想要点击其他标签时的实时数据,忘记第3步,当用户点击其他网格时,进行ajax调用以获取数据并将它们绑定到网格。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-02-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多