0
我有以下控制器火力地堡高內存和CPU使用率
var myApp = angular.module("MyApp", ["firebase"]);
function MyController($scope, $firebase) {
var rootRef = new Firebase("vivid-fire-447.firebaseio.com/products");
// Automatically syncs everywhere in realtime
$scope.products = $firebase(rootRef);
$scope.products.$on('loaded', function(){
var index = $scope.products.$getIndex();
$scope.total = function(){
var total = 0;
index.forEach(function(i){
total += $scope.products.$child(i).price;
});
return total;
};
});
}
和下面的HTML
<div ng-app="MyApp">
<div ng-controller="MyController">
<ul>
<li ng-repeat="product in products | orderByPriority">{{product.code}}</li>
</ul>
<div>Total = {{total()}}</div>
</div>
</div>
的問題是,當我告訴產品鉻CPU的總價被在100掛%和內存使用率開始迅速攀升,最終該選項卡掛起。
我注意到使用AngularJS Batarang,總方法被稱爲連續?
如何以有效的方式獲得所有產品的總價格?
我的代碼加載速度快,問題就陷入了一個無限循環(你必須改變我的小提琴插值'總()'然後使用Chrome的任務管理器,查看症狀),我最好的shot:$ child會以某種方式導致更改事件,並且會角度調用'total()',這會再次觸發更改事件,等等。你的代碼通過不使用'$ child'解決了這個問題,謝謝!並感謝其他指針。 – Cesar
塞薩爾,這是有道理的,似乎極有可能是罪魁禍首! – Kato