计算 ng-repeat Angular JS 表达式的总数
Calculating total of ng-repeat Angular JS expression
我正在使用Angular构建报价系统。我显示了不同的项目,但我正在努力生成总成本。请参阅下面的代码:
<tr ng-repeat="part in curOrder.orderParts">
<td>{{part.partDesc}}</td>
<td>{{part.partQty}}</td>
<td>{{part.partPrice * part.partQty | number:2}}</td>
</tr>
<tr>
<td> </td>
<th>Total</th>
<td>
{{(part.partPrice * part.partQty)*(curOrder.orderParts.length) | number:2}} {{curOrder.currency}}
//I know this line doesn't work as it isn't in the ng-repeat.
//How would I store this expression as a variable so I could use it here?
</td>
</tr>
我将如何将 {{part.partPrice * part.partQty}} 存储为变量(可能是"itemTotal"),然后将所有这些将它们加在一起,例如"orderTotal"并将其显示在页面上?
我应该提到,在此过程中,用户可以通过输入字段更改每个零件的价格。这会导致用户更改价格时变量未更新的问题。代码如下:
$scope.orderParts = $scope.curOrder.orderParts;
for($part in $scope.orderParts){
$partTotal = parseInt($scope.orderParts[$part].partQuotePrice * $scope.orderParts[$part].partQty);
$scope.curOrder.partTotal += $partTotal;
console.log(
"'n partQuotePrice: "+$scope.orderParts[$part].partQuotePrice + //Prints 0 as nothing in user input yet
"'n partQty: "+ $scope.orderParts[$part].partQty + //Prints 100
"'n Multipled: "+($scope.orderParts[$part].partQuotePrice * $scope.orderParts[$part].partQty)+ //Prints 0 (0*100)
"'n partQuotePriceTotal:"+$scope.curOrder.partTotal //Prints NaN
);
}
任何帮助将不胜感激。
谢谢。
您似乎正在使用$scope.curOrder.partTotal += $partTotal;
- 您是否曾经将$scope.curOrder.partTotal
设置为 0?
x = undefined
x += 2 // x == NaN
如果$scope.curOrder.partTotal
变量尚未初始化,则向undefined
添加一个数字将得到NaN
结果。
相关文章:
- 一个正则表达式,用于从JS中的HTML标记中删除id、样式和类属性
- 用于验证JS中逻辑运算符表达式的正则表达式
- 更改标记.js图像/链接表达式
- 简单的Angular JS表达式
- Reactjs错误:babel runtime.js:32 Uncaught TypeError:超级表达式必须为nul
- JS正则表达式跳过每隔一个匹配
- 用正则表达式在js中进行函数修剪
- JS 正则表达式以匹配 HTML 标记中不是 的字符串
- 在 JS 中组合两个正则表达式
- 如何防止 JS 缩小删除命名函数表达式的名称
- 节点.js和表达式:如何在异步操作后返回响应
- 使用 JS 正则表达式添加到字符串(作为数字)
- 节点中带有空格的 XPath 表达式表示挑衅.js
- 角度 js 中的正则表达式
- 正则表达式用于删除 js 中的 css 规则
- Js提示:“;期望一个赋值或函数调用,而看到一个表达式“;,Switch语句
- 正则表达式在浏览器上有效,但在Node.js中无效
- 如何在 KNOCKOUT 中写这个表达式.js
- 奇数(IMHO)在正则表达式(JS)中添加2个空格逗号和一个数字之间
- 使用正则表达式JS / JQuery将字符串转换为对象