Я пытаюсь заставить раскрывающиеся списки заполняться только в том случае, если в раскрывающемся списке над ними что-то выбрано. Кто-то указал мне правильное начальное направление с чем-то вроде этого.
<select class="selectLevel0" ng-model='scope1' ng-change='scope1Change()'
ng-options='obj.name for obj in array track by obj.id'>
</select>
<select class="selectLevel1" ng-model="scope2" ng-change='scope2Change()'
ng-options='obj.name for obj in array2 track by obj.id' ng-hide='!scope1'>
</select>
<select class="selectLevel2" ng-model="scope3" ng-change='scope3Change()'
ng-options='obj.name for obj in array3 track by obj.id' ng-hide='!scope2'>
</select>
<select class="selectLevel3" ng-model="scope4" ng-change='scope4Change()'
ng-options='obj.name for obj in array4 track by obj.id' ng-hide='!scope3'>
</select>
<select class="selectLevel4" ng-model="scope5"
ng-options='obj.name for obj in array5 track by obj.id' ng-hide='!scope4'>
</select>
Это нормально для первого раунда — раскрывающиеся списки ниже не будут заполняться до тех пор, пока в предыдущем не будет что-то выбрано. Сложность в том, что я пытаюсь выяснить, если, скажем, я выбрал весь путь до 5-го уровня, и я снова выбираю 2-й уровень. Затем я хочу, чтобы третий уровень появился, а 4-5 исчезли. Я думал, может быть, что-то вроде ng_show="!scope2 || !scope3" (или что-то подобное, где я передаю несколько аргументов), но я не могу заставить что-то подобное работать в angular. Есть ли лучший способ справиться с этим?