2015-06-24 8 views
5

Mam formularz wejściowy dla adresu e-mail i adresu.

Użytkownik może dynamicznie dodawać do 3 wiadomości e-mail i adresów linii, klikając znak + po prawej stronie pola wejściowego.

Gdy pole + jest również powtarzane dla każdego pola wejściowego. Jak pokazać, że + tylko dla ostatniego pola wprowadzania, gdzie wartość $index jest maksymalna. This is my actual form![][1]

Odpowiedz

15

Można zamiast tego użyć $last szczególną właściwość ng-repeat. Jest to właściwość wartości logicznej ustawiona dla ostatniego elementu (item), tutaj oznacza utworzoną przez ng-repeat, a nie wartość tej konkretnej iteracji) w ng-repeat. Coś jak:

... ng-show="$last" 

lub

... ng-if="$last" 

See other special properties of ng-repeat

  • $ indeks - liczba iteratora przesunięcie powtórzonego elementu (0..length-1)
  • $ - wartość logiczna prawda, jeśli powtarzany element jest pierwszy w iteratorze.
  • $ środkowy - wartość logiczna prawda, jeśli powtarzający się element znajduje się między pierwszym i ostatnim elementem w iteratorze.
  • $ ostatnia - wartość logiczna prawda, jeśli powtórzony element jest ostatni w iteratorze.
  • $ nawet - wartość logiczna prawda, jeśli pozycja iteratora $ indeks jest równa (w przeciwnym razie fałsz).
  • $ odd - wartość logiczna prawda, jeśli pozycja iteratora $ indeks jest nieparzysta (w przeciwnym razie wartość false).

Należy również pamiętać, że jeśli masz zamiar używać ng-show (nie ng-if) mogłyby równie dobrze można to osiągnąć za pomocą selektorów CSS Pseudo-klasa jak :last-child, :last-of-type itp na podstawie kontekstu i struktury DOM.

+0

WOW !! to jest fajna odpowiedź. – gdmanandamohon

Powiązane problemy