我需要从Ajax的数据中做一些计算并显示结果。
$timeout(function(){
angular.forEach($scope.contactList,function(value,index){
...do something
})
}, 2000);
然后我有了这个:
[{"amount":150,"percent":15},{"amount":150,"percent":15}]
它工作正常,但这是最好的方法吗?有没有其他方法可以确保当我使用$ scope.contactList时它不会为null?
ajax调用结果:
cycle 1 - amount * percent = total
cycle 2 - amount * percent = total2
$cope.grandtotal = total+total2
我需要循环 并且这样做
<table ng-table="tableParams" class="table">
<tr ng-repeat="user in $data">
<td data-title="'Pedido'" sortable="'Order_id'">
[[user.Order_id]]
</td>
<td data-title="'Producto'" sortable="'Product'">
[[user.Product]]
</td>
<td data-title="'QTY'" sortable="'amount'">
[[user.amount]]
</td>
<td data-title="'Descuento'" sortable="'percent'">
% [[user.percent]]
</td>
<td data-title="'Total pagar'" sortable="'percent'">
$ [[ (user.amount * user.cost)- (user.amount * user.cost)* 0.15]]
</td>
</tr>
我知道我可以,例如使用自定义过滤器,但我使用的是ngTable,我无法正确使用。
Data.getOrder(2)
.success(function(data)
{
$scope.contactList = data;
$scope.load = year+" "+nam;
// processData()
//
}).then(function(){
processData()
})
function processData() {
angular.forEach($scope.contactList, function(value, index) {
alert(value.amount);
});
}
谢谢
更新
{{1}}
以上工作正常,它做得对吗?但是如何添加错误功能呢?
答案 0 :(得分:0)
使用超时可能会导致问题。您已经知道数据何时可用,因此只需处理它。
def months_to_maturity_func(d1, d2):
return abs((d2 - d1).months)
todays_date = datetime.date.today()
for (i,row) in df.iterrows():
row['months_to_maturity'] = months_to_maturity_func(todays_date, datetime.datetime.strptime(row['maturity_dt'], '%Y-%b-%d %H:%M:%S'))
答案 1 :(得分:0)
ajax调用返回一个promise,所以你可以从你的ajax调用中返回promise; 使用.then()方法
Data.getOrder(2)
.then(function(data) {
$scope.contactList = data;
}).then(function(){
angular.forEach($scope.contactList, function(value,index) {
...do something
});
});