Javascript 如何使用Rally';s SDK 2?

Javascript 如何使用Rally';s SDK 2?,javascript,extjs,rally,Javascript,Extjs,Rally,我创建了一个rallygrid,并将其放在一个容器中,该容器作为应用程序的一个项目列出。然后,该应用程序在for循环中循环,最多需要三分钟来创建其他网格并将其添加到页面中 应用程序将等待所有网格创建并添加到页面,然后再显示其中任何网格。我如何让第一个在添加到组件后显示 是否有一个经验法则,最快的方式来添加一大堆东西?我为一些次要的汇总数据添加了100多个网格。每个都有一个小数组,但我先做一个存储,然后做一个网格 当它在100多个小网格中循环时,我无法阻止它完成执行。由于整个过程都是由属性框中的一

我创建了一个rallygrid,并将其放在一个容器中,该容器作为应用程序的一个项目列出。然后,该应用程序在for循环中循环,最多需要三分钟来创建其他网格并将其添加到页面中

  • 应用程序将等待所有网格创建并添加到页面,然后再显示其中任何网格。我如何让第一个在添加到组件后显示

  • 是否有一个经验法则,最快的方式来添加一大堆东西?我为一些次要的汇总数据添加了100多个网格。每个都有一个小数组,但我先做一个存储,然后做一个网格

  • 当它在100多个小网格中循环时,我无法阻止它完成执行。由于整个过程都是由属性框中的一个更改开始的,因此用户更改下拉列表在一段时间内没有任何作用。而且我甚至无法在Chrome正在构建时关闭它的标签


  • 渲染期间挂起Ext布局可能有助于加快速度:

    Ext.suspendLayouts();
    for (var i = 0; i < 100; i++) {
        addGrids...
    }
    Ext.resumeLayouts(true);
    
    Ext.suspendLayouts();
    对于(变量i=0;i<100;i++){
    添加网格。。。
    }
    Ext.resumeLayouts(真);
    
    如果挂起布局仍然太慢,请尝试异步添加网格。这实际上不会加快渲染速度,但可能会帮助UI感觉更灵敏。将suspendLayouts技巧与异步渲染相结合将不起作用,您必须选择其中之一:

    for (var i = 0; i < 100; i++) {
        var addGrid = function() {
            addGrid...
        }
    
        Ext.Function.defer(addGrid, i * 200);
    }
    
    for(变量i=0;i<100;i++){
    var addGrid=function(){
    添加网格。。。
    }
    Ext.Function.defer(addGrid,i*200);
    }
    

    100个网格相当于dom。无论您使用什么方法,它都可能很慢。如果您的目标是IE,请小心,我怀疑IE中单个页面上的100个网格将无法使用。

    如果您发布代码,这将非常有用。