按字母顺序排列角度对象

时间:2016-08-26 20:14:08

标签: javascript angularjs

我有一个下拉箭头,但下拉箭头中的所有元素都没有以健康的方式排序。我正在尝试使用orderBy角度过滤器,但一直在努力。做了一点烦恼后,我认为问题是因为我需要显示的内容嵌套在某些对象中。

我的前端看起来像

    %input-md{ type: 'select', "ng-model" => "vm.form.group", required: true, options: 'vm.groups', placeholder: 'Select your group' }

我的控制器在其中具有解决这些组的功能。

  init = ->
    success = (groups) ->
      vm.groups = groups
      return

所以我在定义groups之后首先在函数中输入一个调试器,然后在JS控制台中搜索组,并收到一个或多个这样的对象。

text : "American group"
value : Object
__proto__ : Object

看起来有点像: enter image description here

我需要按照text field对其进行排序,因此在这种情况下American group

我试过去

    %input-md{ type: 'select', "ng-model" => "vm.form.group", required: true, options: "object in vm.groups | orderBy: 'text'", placeholder: 'Select your group' }

但我一直收到错误而无法识别text。其Failed to execute 'setAttribute' on 'Element': 'text'' is not a valid attribute name.

所以我不确定我错过了什么,我希望有人可以快速看一下,希望能让我理智一点。

*****编辑****

在做了一些进一步的研究后,我发现orderBy()不能用于对象,它只适用于数组。这解释了为什么我的方法不起作用。 (仍然试图弄清楚如何实现这样的修复)

1 个答案:

答案 0 :(得分:1)

将您的选项属性更改为: object.text for object in data | orderBy: 'text'