嗨我有一个简单的行,我试图显示总数。 在我的HTML中我有
<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>
在我的控制器中我有
var vm=this;
vm.Itotal=0;
这基本上不会让我空白iTotal没有错误。 请让我知道如何修复它以获得结果。谢谢
答案 0 :(得分:1)
如果您正在使用视图模型注释:
var vm=this;
vm.Itotal=0;
然后你应该像这样访问vm.Itotal
:
<td ng-init="controller.Itotal = controller.Itotal + item.price">{{item.price}}</td>
请注意您在视图中使用iTotal
并在控制器中使用Itotal
(我是大写)。
答案 1 :(得分:1)
您可以尝试这种简单的方法: Demo plunker
<强> 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>
<强> JS:强>
$scope.items=[{
"id": 1,
"price": 12,
},
{
"id": 1,
"price": 1,
}];
$scope.iTotal=0;
$scope.items.forEach(function(i){
$scope.iTotal= $scope.iTotal + i.price;
})
答案 2 :(得分:0)
angular.module("app", []).
filter("sum", function sum$$factory() {
return function sum$$filter(collection) {
var sum = 0;
_.forOwn(collection, function(value) {
switch (typeof value) {
case 'number': sum += value; break;
case 'string': sum += (value >>> 0); break;
default: // don't know what to do with this, maybe something else!
break;
}
});
return sum;
};
}).
controller("itemsCtrl", function() {
var self = this;
this.model = {};
this.numbers = [
36,
72,
80,
101,
9,
42
];
this.addNumber = function() {
var value = self.model.newNumber;
if (value === value && typeof value === 'number') {
self.numbers.push(value);
self.model.newNumber = NaN;
}
};
});