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...
,则无误。所以任何人都使用并面临同样的问题。请给我解决方案。
答案 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