angularjs按空格对象排序

时间:2017-12-19 07:53:12

标签: angularjs datatables angularjs-orderby

我的用户列表包含带有这样空格的对象;

  

'用户名,名字,姓氏,电话号码,用户图像'

将此列表绑定到datatable时,我这样做是为了实现我的数据

<tr ng-repeat="user in lstUsers | orderBy : ['User Name']>

   <td> <img ngf-thumbnail="user['User Image']" alt="" id="imgUserImage{{$index}}" /></td>
   <td>{{ user['User Name'] }}</td>
   <td>{{ user['First Name'] }}</td>
   <td>{{ user['Last Name'] }}</td>
   <td>{{ user['Phone #'] }}</td>                        
</tr>

除了order by之外它完全正常,如果我以这种方式使用它会出错orderBy : ['User Name']

  

错误:[$ parse:syntax]语法错误:令牌&#39;名称&#39;是[名称]开头的表达式[用户名]第6列的意外标记。

如果我使用orderBy : '[User Name]',则会抛出此错误;

  

错误:[$ parse:syntax]语法错误:令牌&#39;名称&#39;是意料之外的,期望[[用户名]]第7列的[]]从[名称]开始。[/ p>

如果我使用orderBy : 'User Name',则会抛出此错误;

  

错误:[$ parse:syntax]语法错误:令牌&#39;名称&#39;是[名称]开头的表达式[用户名]第6列的意外标记。

如果我在没有空格的情况下使用它orderBy : 'UserName',它不会给出任何错误但不会对表应用任何订单。

如何在桌面上申请订单?任何形式的帮助将不胜感激。

1 个答案:

答案 0 :(得分:3)

您可以使用 UTF8 code 围绕引号来包围字段名称:

<强> HTML

<tr ng-repeat="user in lstUsers  | orderBy:'\u0022User Name\u0022'">

<强>样本

&#13;
&#13;
angular.module("myApp",[]).controller("myController",function($scope){
  
$scope.lstUsers  = [
{"User Name": 'SACHIN', age: 12},
{"User Name": 'AJMAL', age: 14},
{"User Name": 'SMITH', age: 15},
{"User Name": 'RICHARD', age: 16},
{"User Name": 'OSCAR', age: 32}
];
});
&#13;
<html ng-app="myApp">
  <head>
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
    </head>
<body ng-controller="myController">
  
<div ng-repeat="user in lstUsers | orderBy:'\u0022User Name\u0022' ">
   <h1>{{user['User Name']}}</h1>
   <h1>{{user.age}}</h1>
  </div>
 </body>

  </html>
&#13;
&#13;
&#13;