有没有办法按角度对计算字段进行排序?如何对totalTime的计算列中的值进行排序?
项目中的项目:orderBy [' field1']
ps aux | grep mysql
kill -9 pid
答案 0 :(得分:1)
您可以添加一个过滤器来计算totalTime,并在应用orderBy过滤器之前将其作为属性添加到项目中。请参阅此working fiddle。
<div ng-repeat="item in items | getTotalTime | orderBy:['totalTime']">
{{item.field1}}
{{item.totalTime}}
</div>
过滤器
app.filter('getTotalTime', function() {
return function(items) {
for(var i=0; i<items.length; i++) {
var item = items[i];
item.totalTime = item.date1 + item.date2;
}
return items;
}
});
答案 1 :(得分:0)
来自https://docs.angularjs.org/api/ng/filter/orderBy
比较器用来确定元素顺序的谓词。
可以是以下之一:
功能:Getter功能。此函数的结果将使用&lt;,===,&gt;进行排序。操作
string:...
<body ng-app="app" ng-controller="MainController as main">
<ul>
<li ng-repeat="i in main.items | orderBy:main.inverse:true">{{ i }}</li>
</ul>
</body>
function MainController() {
var vm = this;
vm.items = [ 3, 2, 1];
vm.inverse = function (i) {
return 1/i;
}
}