在AngularJS中,数据仅在ng-repeat中显示

时间:2014-10-03 20:18:22

标签: javascript angularjs angularjs-ng-repeat

我有以下getUserData.js:

var App = angular.module('App', []);

App.controller('UserdataController', function($scope, $http) {
  $http.get('data/getUserData.php')
       .then(function(res){
          $scope.users = res.data;                
        });
});

哪个工作正常,在getUserData.php文件中创建了一个Json,没有任何问题。 但是当我想在index.php文件中显示它时,我只能使用ng-repeat工作,如下所示:

<div ng-controller="UserdataController">
    <ul>
        <li ng-repeat="user in users">
            {{user.voornaam}}
        </li>
    </ul>
</div>

但是如何在不使用ng-repeat的情况下显示这些数据(“voornaam”是名字的荷兰语)?我认为它应该是这样的,但它不起作用..

<div ng-controller="UserdataController">
    {{users.voornaam}}
</div>

现在试了好几个小时,到处搜寻。如果有人能告诉我我做错了什么,那就太棒了!!

1 个答案:

答案 0 :(得分:0)

那是因为users.vornaam不存在。但是,Angular不会显示错误,只会显示“空白值”。

检查对象结构以了解您的错误。它会像

Users {
   0:{ vornaam: xyz, ...}, //this is a single "user" which has a vornaam attribute
   1:{ vornaam: xyz, ...},
   2:{ vornaam: xyz, ...}
}

正如您所看到的,您的用户 s 对象/数组本身没有“vornaam”,但由几个具有所请求属性的对象组成。

在上面的例子中

Users.vornaam

将是未定义的。但是如果你试图像

那样访问它
Users[0].vornaam

它会起作用。