ng-repeat的$ index在ng-if内没有增加

时间:2016-11-14 08:07:01

标签: javascript angularjs

move值不会在$index块内增加。



ng-if




在上面的块中,我在其中使用ng-repeat和<div ng-repeat="household in census.households track by $index"> <div ng-if="household.ask_for_tobacco"> <input id="tobacco_{{$index}}" type="checkbox" ng-model="member.smoker"> <label for="tobacco_{{$index}}"></label> </div> </div>。我正在关注条件ng-if并使用ng-if设置元素ID。元素ID每次都设置$index,而不是递增到0

如果删除了1,2,3...,则无误。所以任何人都使用并面临同样的问题。请给我解决方案。

2 个答案:

答案 0 :(得分:1)

您的问题是ng-if创建了自己的范围,然后干扰您对ng-repeat创建的迭代范围的访问。

由于您无法使用ng-show,我的建议是您对此ng-repeat应用过滤器:

<div ng-app="app" ng-controller="MyCtrl">
  <div ng-repeat="household in households | filter: { ask_for_tobacco: true }">
    <input id="tobacco_{{$index}}" type="checkbox">
    <label for="tobacco_{{$index}}">index {{ $index }} id = {{ household.id }}</label>
  </div>
</div>

请参阅此处的工作示例:http://jsfiddle.net/m25afg12/9/

答案 1 :(得分:0)

你可以使用$ parent。$ index  虽然对于ans:D