从控制器访问ng-repeat范围

时间:2014-10-02 16:36:30

标签: javascript angularjs

我试图用两个嵌套的ng-repeat显示一些注释:

<div ng-repeat="element in elements" >
   <ul>
      <!-- comments -->
      <li ng-repeat="comment in comments">
         <span>Comment</span> <strong>{{comment.username}}</strong>
         <blockquote>{{comment.content}}</blockquote>
      </li>
   </ul>
</div>

这是控制器中的内容:

$scope.comments = [];
$scope.populateComments = function(content_id){
   ProjectsService.commentsQuery(content_id)
   .then(function (data) {
      $scope.comments = data;
   })
}
$scope.populateComments(element.id);

显然它不起作用,我的问题是我不知道如何,也不可能访问ng-repeat范围的对象的属性(获取element.id并仅获取与所涉及元素相关的注释。 有任何想法吗? 提前谢谢!

1 个答案:

答案 0 :(得分:0)

您可以访问ng-repeat范围的对象的属性。您需要重新计算代码。

在Html中

<div ng-repeat="element in elements" >
   <ul>
      <!-- comments -->
      <li ng-repeat="comment in element.comments">
         <span>Comment</span> <strong>{{comment.username}}</strong>
         <blockquote>{{comment.content}}</blockquote>
      </li>
   </ul>
</div>

在JS中

$scope.populateComments = function(element){
   ProjectsService.commentsQuery(element.id)
   .then(function (data) {
      element.comments = data;
   })
}

$scope.populateComments(element);