我正在使用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
答案 0 :(得分:0)
好像你想要迭代整个JSON,所以不要把它当作一个列表,为什么不尝试像对象一样迭代它,如:
<tr ng-repeat="(key, value) in data">
<td> {{key}} </td> <td> {{ value }} </td>
</tr>
现在,您将拥有所有键和与这些键相关联的所有值。如果您能发送JSON,我可以提供更多帮助,但我认为这会有所帮助。
答案 1 :(得分:0)
您的JSON无效,因为您的日期应该是字符串。运行以下代码段(我也使用了日期格式)。
您可以使用ng-repeat
进行显示,如下所示:
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;
答案 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
}];