我尝试在选中上一个选择时显示一个选择。
<div ng-repeat="item in collection">
<div ng-show="$index === 0 || $parent.list[$index].nom">
<select ng-model="$parent.list[$index].nom" ng-options="..."></select>
</div>
1)<div ng-repeat="item in collection">
我循环收集,我创建了很多选择,集合中有项目。
2)<div ng-show="$index === 0 || $parent.list[$index].nom">
我想用两个条件显示/隐藏选择的父div:
3)<select ng-model="$parent.list[$index].nom" ng-options="...">
我放置了一个动态ngModel,其中每个select都有自己的模型,如:
测试示例:我在一个选择中有三个选项,所以我想给成员机会选择选择的每个选项。
如果会员选择选择1的选项,则选择显示开启,如果他选择第二个选项,则选择第三个选择显示,但不能再显示...
问题在这里: 指令ngShow中的$ index似乎已知这种情况:
$index === 0
但不在这里:
$parent.list[$index].nom
答案 0 :(得分:2)
您必须在ng-repeat中加入track by $index
<div ng-repeat="item in collection track by $index>
答案 1 :(得分:1)
我认为应该是:
<div ng-show="$index === 0 || $parent.list[$index - 1].nom">
<select ng-model="$parent.list[$index].nom" ng-options="el for el in els"></select>
</div>
注意,您要引用list
中的上一个项,因此$index - 1
。