2017-12-19 1 views
3

Ich habe eine Liste von Benutzern, die Objekt mit Leerzeichen wie folgt enthält;angularjs Ordnen nach Objekt mit Leerzeichen

'User Name, First Name, Last Name, Phone #, User Image'

während diese Liste Datentabelle verbindlich, ich dies tun, meine Daten zu erreichen

<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> 

es völlig in Ordnung, mit Ausnahme der order by funktioniert, gibt es Fehler, wenn ich es auf diese Weise verwenden orderBy : ['User Name']

Error: [$parse:syntax] Syntax Error: Token 'Name' is an unexpected token at column 6 of the expression [User Name] starting at [Name].

und wenn ich orderBy : '[User Name]' verwende, löst es diesen Fehler aus;

Error: [$parse:syntax] Syntax Error: Token 'Name' is unexpected, expecting []] at column 7 of the expression [[User Name]] starting at [Name]].

und wenn ich orderBy : 'User Name' verwenden, wirft es diesen Fehler;

Error: [$parse:syntax] Syntax Error: Token 'Name' is an unexpected token at column 6 of the expression [User Name] starting at [Name].

und wenn ich es ohne Raum wie diese orderBy : 'UserName' verwenden, wird es keine Fehler geben, aber nicht jeden Auftrag Tabelle gelten.

Was soll ich tun, um eine Bestellung auf dem Tisch zu übernehmen? Jede Art von Hilfe wird geschätzt.

Antwort

3

Sie können nur einen Feldnamen umgeben mit UTF8 code für Anführungszeichen:

HTML

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

DEMO

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} 
 
]; 
 
});
<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>

+1

Sie haben meinen Tag gerettet, Danke –

Verwandte Themen