今天我在使用 ng-click 指令在 Angular 中单击按钮时遇到了一个问题,在桌面上显然没有看到任何时间延迟,但是当在 iPad 中运行 Phonegap 应用程序时,问题就出现了,让我告诉你导致这种缓慢行为的代码,我有两个具有相同症状的示例:
示例 1
$scope.addProductFn = function(index){
var product = $scope.products[index];
$scope.order.unshift(product);
/* the code below make the click slow */
$scope.orderTotal = 0;
angular.forEach($scope.order, function(value, key) {
$scope.orderTotal += value.price;
});
};
示例 2
$scope.addProductFn = function(index){
var product = $scope.products[index];
$scope.order.unshift(product);
/* the code below make the click slow */
$scope.orderTotal += product.price;
};
如果我删除这些行,单击响应按预期工作,非常快
$scope.addProductFn = function(index){
var product = $scope.products[index];
$scope.order.unshift(product);
};
这就是我显示总数的方式
<span class="header">Orden: {{ orderTotal | currency }}</span>
如您所见,没有复杂的代码,但是在尝试计算范围 var "$scope.orderTotal" 时,按钮的点击速度很慢,活动状态会变长。
有什么想法吗?
至少我知道是什么导致了缓慢的事情,但我想知道为什么!
谢谢你的帮助