我想在anuglar js指令标签中找到两个数字之间的区别。
<div ng-repeat="post in posts | orderBy:'-upvotes'">
<span class="glyphicon glyphicon-thumbs-up"
ng-click="incrementUpvotes(post)"></span>
{{post.upvotes}}
<span class="glyphicon glyphicon-thumbs-down"
ng-click="incrementDownvotes(post)"></span>
{{post.downvotes}}
<span class="glyphicon glyphicon-glyphicon-minus"></span>
<span class="glyphicon glyphicon-glyphicon-plus"></span>
{{post.upvotes - post.downvotes}} // I want the difference of these two numbers
必须有一种方法可以使用两个数字的绝对值,或使用一些角度方法来找到它们之间的差异。目前使用上面的代码,它将执行等式,但它会进行严格的减法,而不是给出这些数字之间的实际差异。
答案 0 :(得分:3)
将这样的内容添加到post
定义(在模型中)
...
// assuming you have these already (or similar)
post.upvotes = 2;
post.downvotes = 1;
...
// add something along the lines of
post.voteDiff = function(){
return Math.abs(upvotes - downvotes); // would return 1 in this case
}
然后在您的HTML中可以简单地将其称为任何其他属性{{post.voteDiff()}}
<强>已更新强>
感谢@New Dev在评论中进行更正
答案 1 :(得分:0)
{{post.upvotes + post.downvotes}}
这解决了这个问题。不需要任何花哨的数学或方法。