我对AngularJS和MongoDb的交互有疑问。
我在服务器端使用NodeJS和ExpressJS。通过猫鼬,我与蒙哥交谈。
我刚走完路线。
index.js
app.get('/api/dashboard', function (req, res) {
Homepage
.find({}, 'title -_id createdBy allbids.bid endTime')
.exec(function (err, auctions) {
if(err)
res.send(err);
console.log(auctions);
res.json(auctions);
})
});
控制台显示我需要的所有字段。
然后我通过前端。我以这种方式使用Angular路线:
var app = angular.module('auction', [ 'ngRoute','HomeCtrl','NewAuctionCtrl', 'FollowingAuctionsCtrl', 'MyAuctionsCtrl']);
app.config(function ($routeProvider, $locationProvider)
{
$routeProvider
.when('/', {
templateUrl: 'views/partials/dashboard.html',
controller: 'HomeController'
})
$locationProvider.html5Mode(true);
});
我的HomeController是这样的:
angular.module('HomeCtrl', [])
.controller('HomeController',function ($scope, $http) {
$http.get('/api/dashboard').then(function(data) {
console.log(data);
$scope.auctions= data;
})
});
在dashboard.html中
<div class="panel panel-default" ng-controller="HomeController">
<div class="panel-heading">All The Auctions</div>
<div class="panel-body">
<ul class="list-group">
<li class="list-group-item" ng-repeat="auction in HomeController.auctions">
{{auction}}
</li>
</ul>
</div>
没用我只需要使用
{{auction.title}}
而不是{{auction}}
?? 最佳答案
假设已成功从服务器获取数据,则可以执行
<div class="panel panel-default" ng-controller="HomeController">
<div class="panel-heading">All The Auctions</div>
<div class="panel-body">
<ul class="list-group">
<li class="list-group-item" ng-repeat="auction in auctions">
{{auction}}
</li>
</ul>
</div>
</div>
不需要是HomeController.auctions。这会将整个拍卖对象放入该
li
中,因此,根据您要尝试执行的操作,您可能想要执行如上所述的{{auction.title}}
之类的操作