3

前の選択がチェックされたときに選択を表示してみます。

<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">

コレクションをループして、コレクションにアイテムがあるという多くの選択を作成します。

  1. <div ng-show="$index === 0 || $parent.list[$index].nom">

2 つの条件で選択の親 div を表示/非表示にしたい:

  1. インデックスが 0 の場合は div を表示します (表示用に最初に選択)
  2. 現在のngModelにnomが含まれている場合、divを表示します
  1. <select ng-model="$parent.list[$index].nom" ng-options="...">

各選択が次のような独自のモデルを持つ動的な ngModel を配置します。

ngModel の例
(出典: noelshack.com )

テスト例 : 選択項目に 3 つのオプションがあるので、選択項目の各オプションを選択する機会をメンバーに与えたいと思います。

メンバーが選択 1 のオプションを選択すると、2 番目の選択ショーがオンになり、2 番目のオプションを選択した場合、3 番目の選択ショーがオンになりますが、それ以上は選択されません...

ここでの問題: ディレクティブ ngShow の $index は、この条件で既知のようです:

$index === 0

しかし、ここにはありません:

$parent.list[$index].nom
4

2 に答える 2

2

track by $indexng-repeat に 含める必要があります...

<div ng-repeat="item in collection track by $index>
于 2016-02-05T16:24:51.127 に答える