ネストされた ng-repeat 内で 2 つの $index 値を渡す 質問する

ネストされた ng-repeat 内で 2 つの $index 値を渡す 質問する

そこで、ナビゲーション メニューを作成するために、別の ng-repeat 内に ng-repeat をネストしました。<li>内側の ng-repeat ループのそれぞれに、ng-click を設定しました。これは、$index を渡してそのメニュー項目の関連コントローラーを呼び出し、アプリに必要なコントローラーを知らせます。ただし、外側の ng-repeat からも $index を渡す必要があります。そうすることで、アプリはどのセクションにいるのか、どのチュートリアルにいるのかを認識できます。

<ul ng-repeat="section in sections">
    <li  class="section_title {{section.active}}" >
        {{section.name}}
    </li>
    <ul>
        <li class="tutorial_title {{tutorial.active}}" ng-click="loadFromMenu($index)" ng-repeat="tutorial in section.tutorials">
            {{tutorial.name}}
        </li>
    </ul>
</ul>

ここにプランカーがいるhttp://plnkr.co/edit/bJUhI9oGEQIql9tahIJN?p=preview

ベストアンサー1

各 ng-repeat は渡されたデータを使用して子スコープを作成し、$indexそのスコープに追加の変数も追加します。

したがって、必要なのは親スコープに到達して、それを使用することです$index

見るhttp://plnkr.co/edit/FvVhirpoOF8TYnIVygE6?p=preview

<li class="tutorial_title {{tutorial.active}}" ng-click="loadFromMenu($parent.$index)" ng-repeat="tutorial in section.tutorials">
    {{tutorial.name}}
</li>

おすすめ記事