小编Rod*_*dez的帖子

使用$ filter基于Angular控制器中的属性对对象数组进行排序

我有一个$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')时,会[]显示一个空数组().我想$过滤器在控制器中不起作用.

关于如何解决这个问题的任何想法?谢谢!

javascript arrays object angularjs

4
推荐指数
1
解决办法
1万
查看次数

标签 统计

angularjs ×1

arrays ×1

javascript ×1

object ×1