我可以使用AngularJS显示来自JSON文件的数据,但不是我想要的方式

时间:2017-04-18 14:36:20

标签: angularjs json nedb

我正在使用AngularJS 1.6.4和NeDB。

当我尝试获取数据库中的每个用户时,NeDB会向每个用户返回一个json文件。 所以我尝试使用AngularJS显示它们,但是当我尝试使用ng-repeat="user in users"显示它们时,我只能使用{{ user[0].name }}显示它们,但它只显示一个用户而不是每个用户,我会喜欢使用{{ user.name }}工作。

编辑这是我的JSON文件的样子 [ { _id: 1, name: 'Antoine', createdAt: 2017-04-18T06:42:18.473Z, updatedAt: 2017-04-18T06:42:18.473Z }, { _id: 2, name: 'Louise', createdAt: 2017-04-18T06:42:18.478Z, updatedAt: 2017-04-18T06:42:18.478Z } ]

编辑2:尝试@PansulBhatt的解决方案 Pansul Bhatt's solution

4 个答案:

答案 0 :(得分:0)

好像你想要迭代整个JSON,所以不要把它当作一个列表,为什么不尝试像对象一样迭代它,如:

<tr ng-repeat="(key, value) in data">
  <td> {{key}} </td> <td> {{ value }} </td>
</tr>

现在,您将拥有所有键和与这些键相关联的所有值。如果您能发送JSON,我可以提供更多帮助,但我认为这会有所帮助。

答案 1 :(得分:0)

您的JSON无效,因为您的日期应该是字符串。运行以下代码段(我也使用了日期格式)。

您可以使用ng-repeat进行显示,如下所示:

&#13;
&#13;
var myApp = angular.module('myApp', []);
myApp.controller('MyCtrl', ['$scope', function($scope) {
  $scope.users = [{
    _id: 1,
    name: 'Antoine',
    createdAt: '2017-04-18T06:42:18.473Z',
    updatedAt: '2017-04-18T06:42:18.473Z'
  }, {
    _id: 2,
    name: 'Louise',
    createdAt: '2017-04-18T06:42:18.478Z',
    updatedAt: '2017-04-18T06:42:18.478Z'
  }];
}]);
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>

<div ng-app="myApp" ng-controller="MyCtrl">
  <div ng-repeat="user in users">
    {{user.name}} {{user.createdAt | date: 'dd/MM/yyyy'}}
  </div>
</div>
&#13;
&#13;
&#13;

JSFiddle demo

答案 2 :(得分:0)

好的,首先,我非常感谢你对我的问题的答案! 但我也想道歉,因为这是我的控制器的错误。 我的代码是:

$scope.getAllUsers = function() {
    $http.get("users").then(function(response) {
        $scope.users = response;
    });
}

我通过一个简单的修改来解决它:

$scope.getAllUsers = function() {
    $http.get("users").then(function(response) {
        $scope.users = response.data;
    });
}

答案 3 :(得分:0)

$scope.user=[ 
  { _id: 1,
    name: 'Antoine',
    createdAt: 2017-04-18T06:42:18.473Z,
    updatedAt: 2017-04-18T06:42:18.473Z 
  },
  { _id: 2,
   name: 'Louise',
   createdAt: 2017-04-18T06:42:18.478Z,
   updatedAt: 2017-04-18T06:42:18.478Z 
  }];