2015-10-16 49 views
1

我正在嘗試獲取帖子的評論數量,但找不到方法。如果你想檢查一下,我有一個龐然大物。如何獲得帖子上的評論數

<div class="anuncios"> 
    <div class="panel panel-default" ng-repeat="posts in post | orderBy:'-FechaAnuncio'"> 
     <div class="panel-heading" style="overflow:hidden;"> 
     <p><a href="#">{{posts.NombreLocal}}</a></p> 
     </div> 
     <div class="panel-body"> 
     <p>{{posts.Anuncio}}</p> 
     <hr> 
     <small>{{posts.FechaAnuncio | date:'HH:mm:ss dd-MM-yyyy'}}</small> 
     <button class="btn btn-primary" style="float:right;" ng-click="showme = !showme"><span ng-hide="showme">Show Comments: {{posts.comments.length}}</span><span ng-show="showme">Hide Comments</span></button> 
     <div> 
      <div class="well" ng-show="showme"> 
      <div class="input-group"> 
       <input type="text" class="form-control" placeholder="Comment Here..." ng-model="comment.text"> 
       <span class="input-group-btn"> 
       <button class="btn btn-default" type="button" ng-click="addComment(posts, comment)">Publish!</button> 
       </span> 
      </div> 
      <!-- /input-group --> 
      <div class="cmt"> 
       <div class="panel" ng-repeat="comments in posts.comments"> 
       <p>{{comments.NombreLocal}}</p> 
       <p>{{comments.FechaComentario | date:'HH:mm:ss dd-MM-yyyy'}}</p> 
       <hr> 
       <p>{{comments.Comment}}</p> 
       <p></p> 
       </div> 
       <!--FIN DE COMENTARIOS --> 
      </div> 
      </div> 
     </div> 
     </div> 
    </div> 
    </div> 

http://plnkr.co/edit/AIx0x7?p=preview

的評論數應顯示旁邊的 「查看評論:」

這是我的火力地堡結構: Firebase structure image

+1

'comments'是回來爲'Object',而不是一個'array',從火力地堡。這是你的意圖嗎? – Makoto

+0

@Makoto非常感謝您的回答。我真的新與angularjs和firebase所以可能這就是爲什麼我結束了這一點。有關如何解決這個問題的任何線索?只需顯示我在那裏的評論數就可以看到。 –

+0

我不知道Firebase的結構是什麼樣子(我無法直接訪問它),所以我除了可以說的外,還有很少的一點,「如果你想要的話,確保你將它作爲一個數組返回訪問其「長度」屬性。「 – Makoto

回答

2

由於comments是一個對象,最容易做的事情是指望它有按鍵的數量。您需要將其添加到您的控制器,或者您可以創建自己的過濾器。

app.controller('AnunciosCtrl', function($scope, $firebaseArray, $timeout) { 
    ... 
    $scope.sizeOf = function(obj) { 
    return Object.keys(obj || {}).length; 
    }; 
}); 

HTML:

<span ng-hide="showme">Show Comments: {{ sizeOf(posts.comments) }}</span> 

Plunker

-3

在你的控制器做:

$scope.numComments = $scope.post.comments.length; 

在您的HTML:

...>Show Comments: {{numComments}}<... 
+1

如果註釋*對象*上的長度屬性不是數組,則不會修復*任何內容。 – Makoto

+0

這不起作用@robBerto,但感謝您的幫助 –

相關問題