2013-04-20 14 views
13

JS undefined:Feldlänge in AngularJS kehrt

function UserController($scope, User, Group){ 

    $scope.users = User.query(); 

    $scope.isNewUser = function(){ 

      var len = $scope.users.lenght; 
      console.log(len); //undefined 

      for(var i = 0; i < len; i++){ 
       if($scope.users[i].created_at == null){ 
        return false; 
       } 
      } 

      return true; 
     } 
    } 
} 

In Frontend habe ich eine Liste von Benutzern, die gut gemacht sind. Wenn ich jedoch die Länge abrufe, werde ich undefiniert. Warum? Ich brauche die Länge der Benutzer, um das Array von Objekten zu durchlaufen.

+0

, wenn ich dies im Hinblick auf die {{users.length}} und wenn Daten als ok, aber wenn null, als es zeigt random/Müll Wert .wie zu repariere es –

Antwort

115

Verwendung:

$scope.users.length; 

Statt:

$scope.users.lenght; 

Und beim nächsten Mal "Rechtschreibprüfung" Code.

+5

Willkommen in der magischen Welt von "alles-ist-ein-Laufzeit-Fehler" Sprachen. Keine Kompilierungsfehler mehr, Baby! –

+1

Ich vermeide dies mit jslint/jshint, das in Codekit eingebaut ist und sagt mir, wenn ich jedes Mal Fehler habe, wenn ich die JS-Datei speichere. Die Konsole markiert diese Fehler nicht, daher sind diese Funktionen für eine effiziente Codierung unerlässlich. Andernfalls können Sie Stunden damit verbringen, irgendwo einen Tippfehler zu beheben. – redfox05

-1
var leg= $scope.name.length; 
$log.info(leg); 
+8

Wäre schön, ein paar Worte hinzuzufügen, was genau Sie vorschlagen. – Scheintod

0

es wie folgt bilden:

$scope.users.data.length;