5

Jesteśmy w trakcie aktualizacji naszej aplikacji do Angular 1.3.0. W ten sposób natrafiliśmy na kilka kwestii, z których większość zdaje się sprowadzać do zachowania ngTransclude wewnątrz ngRepeat.AngularJS: ngTransclude i zakres dostępu ngRepeat

Mamy dyrektywę, która powtarza kilka elementów, z pojemnikiem wokół nich, ale nie jest właścicielem dzieci tego pojemnika. Na przykład, tutaj jest uproszczony przykład:

<div ng-controller="myController"> 
    There are {{items.length}} items. 
    <div my-directive items="items"> 
     This item's name is {{item.name}} 
    </div> 
</div> 

Wewnętrznie dyrektywa zawiera <li ng-repeat="item in items" ng-transclude></li>, między innymi.

Przed aktualizacją działało dobrze. Powtarzające się elementy translatowane znajdują się w zakresie, który dziedziczy po zakresie utworzonym przez ngRepeat. Od momentu aktualizacji elementy są w zakresie dziedziczącym po kontrolerze i, o ile wiem, nie ma możliwości uzyskania dostępu do zakresu utworzonego przez ngRepeat.

Oto dwa przykłady JS BIN:

Jak można Osiągnąłem stare zachowanie lub jego pozór w Angular 1.3.0? Jeśli jest to zamierzone zachowanie ngTransclude, w jaki sposób mogę powtórzyć kilka węzłów potomnych, nie wiedząc, co to jest?

Odpowiedz

Powiązane problemy