如何在ngRepeat循环内创建一个具有默认值的独立索引器

时间:2017-05-13 22:17:36

标签: angularjs angularjs-ng-repeat

我有一个包含评论的帖子列表。我需要遍历页面上每个帖子中的一系列评论。我试图在ngRepeat内创建变量用于帖子,我可以像索引器一样使用它来显示每个帖子的确切评论。由于ngRepeat创建了嵌套范围,因此对于每次迭代,此变量必须是唯一的。但是,当我尝试使用ng-click进行更改时,它不会发生变化。

我的ngRepeat:

<div class="question_block col-xs-12" 
                         ng-repeat="answer in question.content.answer track by answer.id">

之后是<span style="display:none">{{counter=0}}</span>。然后我展示了一些像<span>{{answer.comments[counter].user.organization.title}}</span>这样的项目。当我试图做<a href ng-click="counter++">Increment</a>之类的事情时,没有任何事情发生。这是怎么回事?

1 个答案:

答案 0 :(得分:0)

使用ng-init="counter = 0"并将ng-click附加到控制器中的某个功能:

<div ng-repeat="item in items track by $index" ng-init="counter=0">
  {{item}} ({{counter}})
  <button ng-click="clickHandler()">Increment</button> 
  <hr />
</div>

然后,要在事件的上下文中增加counter,请使用this.counter

$scope.clickHandler = function() {
 this.counter++;
};

Plunker演示:http://plnkr.co/edit/J4d0JlJSKD7i4OfMT2r4?p=preview