![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 1 240 Pomógł: 278 Dołączył: 11.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Postanowiłem ponownie rozpocząć przygodę z Angularem. Napotkałem na problem/błąd w tym fragmencie kodu:
Problem jest taki, że metoda getGminy($index, w.data['wojewodztwa.id']) podczas wyszukiwania podaje błędny $index (nie zachowuje indeksów wszystkich elementów tylko liczy go od nowa). Da się w jakiś sposób to obejść? Ponieważ wykonuję operacje na złym województwie jeżeli coś wyszukuje i przy tym kliknę w odnośnik. -------------------- |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 717 Pomógł: 120 Dołączył: 18.04.2009 Ostrzeżenie: (0%) ![]() ![]() |
Cytat <a ng-click="getGminy($index, w.data['wojewodztwa.id'])"> tu mi się coś nie zgadza. Jesli wojewodztwa to tablica wojewodztw, i iterujesz po niej uzywajac zmiennej w, to czemu potem odwojuesz się poprzez: w.data['wojewodztwa.id']? a nie wojewodztwa.data[w.id] i czemu to w nawiasach kwadratowych jest w apostrofach? Tak tylko zgaduję, bo nie wrzuciłeś kodu kontrolera czy innego miejsca gdzie definiujesz zmienne i metody w $scope, więc jest to wrózenie z fusów. Ten post edytował PrinceOfPersia 18.04.2015, 12:14:32 -------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 1 240 Pomógł: 278 Dołączył: 11.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
Drugi parametr jest prawidłowy i nie ma znaczenia jeżeli chodzi o wyżej opisany problem. Potrzebny mi jest do kolejnych odwołań do API.
A wygląda w ten sposób ponieważ takie dane otrzymuję z API. Odwołanie się do w.data['wojewodztwa.id'] to jedyny sposób gdy obiekt wygląda np. tak: Kod w { data: { wojewodztwa.id : 2 } } Problem dotyczy $index - czy istnieje możliwość aby po użyciu filter:q w ng-repeat $index był taki sam jak w przypadku braku filtra - wtedy mogę odnieść się do danego województwa przez : $scope.wojewodztwa[$index], w innym przypadku muszę wyszukiwać w tablicy $scope.wojewodztwa obiektu z takim samym id (jak w 2 parametrze). -------------------- |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 675 Pomógł: 58 Dołączył: 17.12.2013 Ostrzeżenie: (10%) ![]() ![]() |
Ng-repeat="o in Object track by $index | filter: q"
Cos podobnego. Doczytaj bo pisze z Tel i nie mam jak sprawdzic |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 717 Pomógł: 120 Dołączył: 18.04.2009 Ostrzeżenie: (0%) ![]() ![]() |
Kod w { data: { wojewodztwa.id : 2 } } to nie powinno działać, bo jest bład składni. Prędzej tak: Kod w: { data: { 'wojewodztwa.id' : 2 } } (no chyba, że w kodzie jest dobrze, a tylko przepisałeś w pośpiechu błędnie). Ten post edytował PrinceOfPersia 18.04.2015, 14:32:04 -------------------- |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 1 240 Pomógł: 278 Dołączył: 11.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
@tzm
Próbowałem wcześniej z track by i efekt jest taki sam. Po wpisaniu czegoś w input search indeksy się przestawiają. @PrinceOfPersia Akurat w tym API jest 'wojewodztwa.id' (mój błąd) aczkolwiek spotkałem się z zapisem costam.pole i wtedy też trzeba użyć 'costam.pole'. -------------------- |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 21:44 |