如何对对象列表进行排序:
[
{a: 3, b: "H", c: "A"}
{a: 4, b: "G", c: "B"}}
{a: 1, b: "F", c: "E"}}
{a: 2, b: "E", c: "E"}}
{a: 6, b: "D", c: "D"}}
{a: 5, b: "A", c: "D"}}
]
在angularjs中使用Javascript?我知道有一些指令可以包含在HTML中以帮助对它进行排序,但是我可以在某些$ filter上调用某些函数,或者在服务和/或控制器中调用某些函数来对我的对象进行排序吗?假设我想按键排序" a" ...或
或者一切都必须通过html模板指令工作吗?
答案 0 :(得分:0)
您可以在控制器中使用$filter服务:
app.controller('MainCtrl', function($scope, $filter) {
$scope.source = [{
a: 3,
b: "H",
c: "A"
}, {
a: 4,
b: "G",
c: "B"
}, {
a: 1,
b: "F",
c: "E"
}, {
a: 2,
b: "E",
c: "E"
}, {
a: 6,
b: "D",
c: "D"
}, {
a: 5,
b: "A",
c: "D"
}];
$scope.filtered = $filter('filter')($scope.source, 'D', 'c');
});
此示例使用' filter'在AngularJS中过滤以查找带有' D' c属性中的值。 这是一个有效的插件:http://plnkr.co/edit/8kWhtOuSX0iEzuMEQdnq?p=preview
本文档页面提供了更多详细信息:https://docs.angularjs.org/guide/filter