为什么指令看到$ index而不是$ parent AngularJS

时间:2017-10-01 13:42:50

标签: javascript angularjs

我现在直到

https://plnkr.co/edit/14LM5VhORXMa1lD7jm7U?p=preview

我需要在directiv $ parent。$ index中,它可以发送或不发送?有人可以解释一下吗?

      <ul>
        <li ng-repeat="item in lists"> 
          {{item.name}}
             <ul>
               <li ng-repeat="card in item.cards">
                 {{card.name}}

                  <div modal-window-card></div>  
               </li>
            </ul>
        </li>
      </ul>

1 个答案:

答案 0 :(得分:0)

ng-repeat创建一个新范围,因此第二个ng-repeat将位于第一个ng-repeats范围内。到达第一个ng-repeats范围$ index的方法是使用

$parent.$index

但是当你使用一个使用$ parent创建新范围的指令时,它只会到达第二个ng-repeats范围。要达到第一个ng-repeats范围,请使用

App.directive('modalWindowCard', function(){
  return {
        scope: {

        },
        template:  '{{$parent.$parent.$index}}/{{$parent.$index}}' 

  }
})

Plunker