情况:
在我的应用程序中,我有最多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需要评估的时间是相同的。
我真的需要加快这个过程,但我已经没有主意了。有人知道我该怎么做到?
谢谢!
如果