Javascript 获取行Angularjs的总数
嗨,我有一个简单的行,我试图显示的总数。 在我的html中,我有Javascript 获取行Angularjs的总数,javascript,angularjs,Javascript,Angularjs,嗨,我有一个简单的行,我试图显示的总数。 在我的html中,我有 <tr ng-repeat="item in items"> <td>{{item.name}}</td> <td ng-init="iTotal= iTotal + item.price">{{item.price}}</td> </tr> <tr> <td><
<tr ng-repeat="item in items">
<td>{{item.name}}</td>
<td ng-init="iTotal= iTotal + item.price">{{item.price}}</td>
</tr>
<tr>
<td></td>
<td>Total :</td>
<td>Total:{{iTotal}}</td>
</tr>
这基本上不会给我一个空白,因为iTotal没有错误。
请让我知道如何修复它以获得结果。如果您使用的是视图模型注释,请感谢:
var vm=this;
vm.Itotal=0;
然后您应该像这样访问vm.Itotal
:
<td ng-init="controller.Itotal = controller.Itotal + item.price">{{item.price}}</td>
{{item.price}
请注意在视图中使用
iTotal
,在控制器中使用iTotal
(I大写) JSFiddle解释相同的内容:(不是我创建的,是从JSFiddle复制的)
您可以尝试以下简单方法: HTML:
<table>
<tr ng-repeat="item in items">
<td>{{item.name}}</td>
<td >{{item.price}}</td>
</tr>
<tr>
<td></td>
<td>Total:{{iTotal}}</td>
</tr>
</table>
$scope.items=[{
"id": 1,
"price": 12,
},
{
"id": 1,
"price": 1,
}];
$scope.iTotal=0;
$scope.items.forEach(function(i){
$scope.iTotal= $scope.iTotal + i.price;
})
您在页面中获得item.price了吗?items是控制器中的一个数组,为什么您不能在控制器中执行该操作,将结果分配给一个范围变量并显示它?是的,我获得了item.price。我得到了所有正确的值只是iTotal没有显示任何东西正如我之前提到的,正确的方法是在控制器中执行操作,然后显示。请创建一个小提琴。
<table>
<tr ng-repeat="item in items">
<td>{{item.name}}</td>
<td >{{item.price}}</td>
</tr>
<tr>
<td></td>
<td>Total:{{iTotal}}</td>
</tr>
</table>
$scope.items=[{
"id": 1,
"price": 12,
},
{
"id": 1,
"price": 1,
}];
$scope.iTotal=0;
$scope.items.forEach(function(i){
$scope.iTotal= $scope.iTotal + i.price;
})