使用带空格的JSON键进行AngularJS排序

时间:2014-03-10 13:12:56

标签: javascript json angularjs

通过我的AngularJS应用程序,我调用以下列格式返回JSON的API:

[Object, Object]
0: Object
$$hashKey: "01"
Contact Name: "Michae"
Phone Number: "2000000000000"

因为显示JSON中的键有空格,所以我在我的app模板中使用以下代码来显示json内容:

<select ng-model ="sortorder">
  <option selected value="{{contacts['Contact Name']}}">Name</option>
  <option selected value="{{contacts['Phone Number']}}">Contact Name</option>
</select>
<br><br><br>    
<div ng-repeat="contacts in mContactsList | orderBy:sortorder">
  <p>Contact Name: {{contacts['Contact Name']}}</p><br>
  <p>Phone: {{contacts['Phone Number']}}</p><br>
</div>

在控制器中,我尝试使用:

$ scope.sortorder ='联系人姓名'; 和 $ scope.sortorder ='{{contacts [\'Contact Name \']}}';

但没有效果......

我现在遇到的问题是排序根本不起作用,所以有人可以帮我指出我做错了什么/错过了吗?任何例子都非常感谢

由于

2 个答案:

答案 0 :(得分:1)

如果您要定义自定义orderBy - 请记住它需要使用当前重复的contact作为参数的函数。尝试:

$scope.sortorder = function (contact) {
    return contact["Contact Name"];
}

答案 1 :(得分:0)

var orderBy = $filter('orderBy');
array = orderBy(array, function(row){return row[predicate]}, reverse);
  • array:是您需要排序的数组
  • 谓词:属性。它可以有空格,特殊字符
  • 反向:是否要按相反顺序排序