我对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}}之类的操作

10-06 13:09