Javascript 如何获得ng init和ng repeat-angularjs中的总和
在ng init和ng repeat angularjs中存在问题 我正在尝试循环字段速率以得到总数 例如,这是我的桌子 nane+id+rate 乔+1+3 乔+2+3 joe+++3++3 乔+4+3 这是我的密码Javascript 如何获得ng init和ng repeat-angularjs中的总和,javascript,angularjs,angularjs-directive,ionic-framework,Javascript,Angularjs,Angularjs Directive,Ionic Framework,在ng init和ng repeat angularjs中存在问题 我正在尝试循环字段速率以得到总数 例如,这是我的桌子 nane+id+rate 乔+1+3 乔+2+3 joe+++3++3 乔+4+3 这是我的密码 <table> <tr> <td>name</td> <td>rate</td> </tr> <tr ng-repeat="item in videos"> <td&g
<table>
<tr>
<td>name</td>
<td>rate</td>
</tr>
<tr ng-repeat="item in videos">
<td>{{item.name}}</td>
<td ng-init="videos.total.rate = videos.total.rate + item.rate">{{item.rate}}</td>
</tr>
<tr>
<td>Total</td>
<td>{{videos.total.rate}}</td>
</tr>
名称
率
{{item.name}
{{item.rate}
全部的
{{videos.total.rate}
我得到的结果是3333,而不是12
这就是问题所在
<td ng-init="videos.total.rate = videos.total.rate + item.rate">{{item.rate}}</td>
{{item.rate}
如果我把它改成一个数字,就可以了
<td ng-init="videos.total.rate = videos.total.rate + 3">{{item.rate}}</td>
{{item.rate}
您的帮助太好了。谢谢将此逻辑移到控制器中。这就是它的目的。视图应显示数据 现在,您必须担心如何将字符串转换为整数,并用angular必须解释为javascript的语言编写4倍以上的代码 您在这里添加的复杂性将非常有趣
但您可能希望继续出错,在这种情况下,应该可以这样做:
将此逻辑移到控制器中。这就是它的目的。视图应显示数据
现在,您必须担心如何将字符串转换为整数,并用angular必须解释为javascript的语言编写4倍以上的代码
您在这里添加的复杂性将非常有趣
但您可能想继续做错事,在这种情况下,应该可以这样做:
定义一个过滤器来计算总数:
app.filter('calculateRateTotal',function(){
return function(input){
var total = 0;
angular.forEach(input,function(value,key){
total = total+value.rate;
});
return total;
};
});
HTML:
定义一个过滤器来计算总数:
app.filter('calculateRateTotal',function(){
return function(input){
var total = 0;
angular.forEach(input,function(value,key){
total = total+value.rate;
});
return total;
};
});
HTML:
在控制器中尝试类似的操作 JS
$scope.ratecotal=0;
对于(变量i=0;i
HTML
{{RateTotal}
上面的选项更好,但如果您想使用请使用类似的选项
<table ng-init="RateTotal = 0">
<thead>
<th>Rate</th>
</thead>
<tbody>
<tr ng-repeat="item in videos">
<td ng-init="$parent.RateTotal= $parent.RateTotal + item.rate">{{item.rate}}</td>
</tr>
<tr>
<thead>
<tr>
<th>Total</th>
<th>{{RateTotal}}</th>
</tr>
</thead>
</tr>
</tbody>
</table>
比率
{{item.rate}
全部的
{{RateTotal}}
附言
此指令可能被滥用,以便在系统中添加不必要的逻辑量
你的模板。ngInit只有几个合适的用途,例如
至于ngRepeat的别名特殊属性,如演示中所示
在下面以及通过服务器端脚本注入数据。除此之外
在少数情况下,应该使用控制器而不是ngInit进行初始化
作用域上的值。-
在控制器中尝试类似的操作 JS
$scope.ratecotal=0;
对于(变量i=0;i
HTML
{{RateTotal}
上面的选项更好,但如果您想使用请使用类似的选项
<table ng-init="RateTotal = 0">
<thead>
<th>Rate</th>
</thead>
<tbody>
<tr ng-repeat="item in videos">
<td ng-init="$parent.RateTotal= $parent.RateTotal + item.rate">{{item.rate}}</td>
</tr>
<tr>
<thead>
<tr>
<th>Total</th>
<th>{{RateTotal}}</th>
</tr>
</thead>
</tr>
</tbody>
</table>
比率
{{item.rate}
全部的
{{RateTotal}}
附言
此指令可能被滥用,以便在系统中添加不必要的逻辑量
你的模板。ngInit只有几个合适的用途,例如
至于ngRepeat的别名特殊属性,如演示中所示
在下面以及通过服务器端脚本注入数据。除此之外
在少数情况下,应该使用控制器而不是ngInit进行初始化
作用域上的值。-
经过10个小时的不走运,我的朋友终于成功了。变得很简单 这是代码 在添加的控制器中
$scope.getTotal = function(){
var total = 0;
for(var i = 0; i < $scope.videos.length; i++){
var item = $scope.videos[i];
total += (item.rate*1);
}
return total; }
$scope.getTotal=function(){
var合计=0;
对于(变量i=0;i<$scope.videos.length;i++){
var item=$scope.videos[i];
总计+=(项目费率*1);
}
返回总数;}
和HTML
<table>
<tr>
<th>Rate</th>
</tr>
<tr ng-repeat="item in videos">
<td>{{item.rate}}</td>
</tr>
<tr>
<td>Total: {{ getTotal() }}</td>
</tr>
</table>
比率
{{item.rate}
总计:{{getTotal()}}
感谢大家的帮助经过10个小时的运气不佳,我的朋友终于成功了。变得很简单 这是代码 在添加的控制器中
$scope.getTotal = function(){
var total = 0;
for(var i = 0; i < $scope.videos.length; i++){
var item = $scope.videos[i];
total += (item.rate*1);
}
return total; }
$scope.getTotal=function(){
var合计=0;
对于(变量i=0;i<$scope.videos.length;i++){
var item=$scope.videos[i];
总计+=(项目费率*1);
}
返回总数;}
和HTML
<table>
<tr>
<th>Rate</th>
</tr>
<tr ng-repeat="item in videos">
<td>{{item.rate}}</td>
</tr>
<tr>
<td>Total: {{ getTotal() }}</td>
</tr>
</table>
比率
{{item.rate}
总计:{{getTotal()}}
感谢大家的帮助个人费率的价值是什么?我怀疑
ng init
对您的案例不起作用。它们的费率都是3333。我不认为ng init
将每个新项目视为ng repeat
迭代。Yoh可能想将求和逻辑移到您的控制器中。我如何将其强制转换或解析为int?它似乎将3连接到3333,而不是添加3+3+3+3,以得到12的总数。{{item.rate}
------{item.rate}
各个速率的值是多少?我怀疑ng init
对您的案例不起作用。它们的费率都是3333。我不认为ng init
将每个新项目视为ng repeat
迭代。Yoh可能希望将求和逻辑移到控制器中。我如何将其强制转换或解析为int它似乎将3连接到3333,而不是将3+3+3+3相加,得到12的总数。{{item.rate}