AngularJs对ng节目的评价相当缓慢



情况:

在我的应用程序中,我有最多12个分区。但并不是每次都必须显示所有这些数据,这取决于包含相对数据的对象是否为空。

在视图中,我检查这些对象中的每一个,如果一个对象为空,我不会显示相对部分。

就是这样。

问题是,这会导致在主视图中显示按钮(链接到每个部分)时出现显著延迟。介于0.5到1秒之间。这真的太过分了。没有ng显示按钮会立即显示,但我需要进行此检查。

问题:

我能做些什么让AngularJs更快地评估吗?

我已经试过几种方法来进行检查,但延误仍然没有改变。

尝试1-通用功能和ng显示:

使用检查对象是否为空的通用功能:

$scope.isEmpty = function(obj) 
{
    // Return true if empty
    if (obj == null) return true;
    if (obj.length === 0)  return true;
    // Return false if not empty
    if (obj.length > 0)    return false;
    for (var key in obj) 
    {
        if (hasOwnProperty.call(obj, key)) return false;
    }
    return true;
}

视图:

<button class="button" ui-sref="app.section_1" ng-show="!isEmpty(section1_data)">Section 1 </button>


尝试2-更简单的检查和ng显示:

<button class="button" ui-sref="app.section_1" ng-show="section1_data.length > 0">Section 1 </button>


尝试3-一般功能和ng如果

<button class="button" ui-sref="app.section_1" ng-if="!isEmpty(section1_data)">Section 1 </button>


尝试4-简单检查,如果则为ng

<button class="button" ui-sref="app.section_1" ng-if="section1_data.length > 0">Section 1 </button>


结论:

对于所有这4次尝试,Angular需要评估的时间是相同的。

我真的需要加快这个过程,但我已经没有主意了。有人知道我该怎么做到?

谢谢!

如果

,用ng替换ng show/ng hide

最新更新