Rod*_*dez 4 javascript arrays object angularjs
我有一个$scope.segments像这样的对象数组:
[
{
"_id": "55d1167655745c8d3679cdb5",
"job_id": "55d0a6feab0332116d74b253",
"status": "available",
"sequence": 1,
"body_original": "Such a fork",
"__v": 0,
"body_translated": "Tal bifurcación"
},
{
"_id": "55d1167655745c8d3679cdb4",
"job_id": "55d0a6feab0332116d74b253",
"status": "available",
"sequence": 0,
"body_original": "So this is it.",
"__v": 0,
"body_translated": "Así que esto es."
}
]
Run Code Online (Sandbox Code Playgroud)
我需要按顺序按顺序排序.所以,我需要首先出现序列0,然后出现序列1,依此类推.在一个视图中,我这样做,它的工作原理:
<ul ng-repeat="segment in segments | orderBy: 'sequence'">
<li>{{ segment.sequence }}</li>
</u>
Run Code Online (Sandbox Code Playgroud)
但是,我需要orderBy过滤器才能在控制器中工作.我这样做:
$scope.test = $filter('orderBy')($scope.segments, 'sequence');
Run Code Online (Sandbox Code Playgroud)
其中,$ scope.test应该是基于sequence属性的有序对象数组.但是,当我执行console.log('$ scope.test')时,会[]显示一个空数组().我想$过滤器在控制器中不起作用.
关于如何解决这个问题的任何想法?谢谢!
我猜你刚才没有$filter在你的控制器中正确注入服务,因为这对我有用.
<body ng-controller="MainCtrl">
<ul ng-repeat="segment in segments | orderBy: 'sequence'">
<li>{{segment.sequence}}</li>
</ul>
<script src="vendors/angular.min.js"></script>
<script>
angular.module('app', [])
.controller('MainCtrl', ['$scope', '$filter', function($scope, $filter) {
$scope.segments = [
{
"_id": "55d1167655745c8d3679cdb5",
"job_id": "55d0a6feab0332116d74b253",
"status": "available",
"sequence": 1,
"body_original": "Such a fork",
"__v": 0,
"body_translated": "Tal bifurcación"
},
{
"_id": "55d1167655745c8d3679cdb4",
"job_id": "55d0a6feab0332116d74b253",
"status": "available",
"sequence": 0,
"body_original": "So this is it.",
"__v": 0,
"body_translated": "Así que esto es."
}
];
$scope.test = $filter('orderBy')($scope.segments, 'sequence');
console.log($scope.test);
}]);
</script>
</body>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13937 次 |
| 最近记录: |