尽管事实上我是Angular的初学者,但我不知道如何最好地解决这个问题。 想象一下,我有两个用户,他们互相欠钱,用户:'A'和'B'。在AngularJS同时显示内容
'A'有5笔交易,必须支付5000美元给'B'。 'B'有50000笔交易,必须支付100000美元给'A'。在这一刻我看到2交易,而不是1,我必须做数学的头。代码如下所示:
$scope.charges = {};
totalChargeUserToFactory.query({
id: null
}).$promise.then(function (data) {
$scope.charges.to = data;
});
totalChargeUserFromFactory.query({
id: null
}).$promise.then(function (data) {
$scope.charges.from = data;
});
所以我决定改就解决我的问题:
$scope.charges = {};
totalChargeUserToFactory.query({
id: null
}).$promise.then(function (data) {
$scope.charges.to = data;
totalChargeUserFromFactory.query({
id: null
}).$promise.then(function (data) {
$scope.charges.from = data;
for (var i = 0; i < $scope.charges.to.length; i++) {
for (var j = 0; j < $scope.charges.from.length; j++) {
if ($scope.charges.to[i].userFromId === $scope.charges.from[j].userToId) {
if ($scope.charges.to[i].charge < $scope.charges.from[j].charge) {
$scope.charges.from[j].charge = (parseFloat($scope.charges.from[j].charge)
- parseFloat($scope.charges.to[i].charge)).toFixed(2);
$scope.charges.to.splice(i, 1);
i--;
} else {
$scope.charges.to[i].charge = (parseFloat($scope.charges.to[i].charge)
- parseFloat($scope.charges.from[j].charge)).toFixed(2);
$scope.charges.from.splice(j, 1);
j--;
}
}
}
}
});
});
而现在真正的问题occures。有了这么多的交易,需要时间才能加载内容。当刚刚加载A时,B加载2秒钟,然后出现在屏幕上。它看起来不太好...你能给我一些提示如何避免这种情况吗?基于这个代码?我将不胜感激。
我一直在寻找谷歌找到解决方案,但我找不到任何satysfying,这直接影响我的问题。