• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

AngularJS - element tooltip. Usunięcie klamer [{}] z obiektu JSON.

Object Storage Arubacloud
0 głosów
159 wizyt
pytanie zadane 20 lutego 2018 w JavaScript przez Kondzio Mądrala (5,230 p.)
edycja 20 lutego 2018 przez Kondzio

Witam, pobieram sobie za pomocą serwisu dane, które są mi potrzebne, by wyświetlić je jako tooltip w data-title. Zawierają one daty, które muszą się wyświetlić po najechaniu na element.

Niestety, kiedy po prostu je wrzuciłem do data-title="{{moje.dane}}", tooltip zawiera także klamry [{}], które bardzo psują wygląd danych.

Nie za bardzo wiem jak się za to zabrać. Na razie zmieniłem tylko wyświetlanie: data-title="{{moje.dane|json}}", no ale klamry dalej są, wiadomo. Czy mogę zamiast tego |json zastosować swój własny filtr? Tylko, czy to zadziała na dane które generowane są za pomocą ng-repeat?

Czy jedynym sposobem jest zaciągnięcie danych za pomocą GET, przerobienie ich na stringi w js a następnie wstrzyknięcie do tooltipa?
Pozdrawiam

 

@EDIT - dodanie screenów JSONa w <pre> oraz wyświetlanie danych poprzez tooltip

 

komentarz 20 lutego 2018 przez ScriptyChris Mędrzec (190,190 p.)

Czy moje.dane to jest cały JSON? 

 klamry [{}]

Klamry to "{" i "}". Nawiasy kwadratowe oznaczają tablicę lub - jeśli podwójne - jakiś "mocno prywatny" obiekt/property.

Zapewne nie parsujesz JSONa przed wyświetleniem go. Łatwiej byłoby Ci pomóc jeśli pokazałbyś jego strukturę, albo chociaż wycinek - żeby móc odnieść się do jakiegoś pola i dać Ci przykład.

komentarz 20 lutego 2018 przez Kondzio Mądrala (5,230 p.)
Edytowałem pytanie - mam nadzieję, że o taką strukturę Ci chodziło :P

1 odpowiedź

+1 głos
odpowiedź 20 lutego 2018 przez ScriptyChris Mędrzec (190,190 p.)
wybrane 20 lutego 2018 przez Kondzio
 
Najlepsza

Użycie "| json" serializuje wartość do JSONa - dokumentacja . Przed wyświetleniem danych, powinieneś w kontrolerze użyć angular.fromJson( moje.dane ), aby sparsować JSONa do obiektu. Pamiętaj, że jeśli jest to tablica, musisz podać indeks elementu - w przypadku pojedynczego, będzie to [ 0 ].

Dokumentacja: https://docs.angularjs.org/api/ng/function/angular.fromJson

Możesz sobie zrobić z tego własny filtr (pipe), ale im mniej zaśmiecasz kod widoku, tym lepiej.

komentarz 20 lutego 2018 przez Kondzio Mądrala (5,230 p.)
Super, sporo mi rozjaśniłeś tą wypowiedzią, zaraz biorę się do wprowadzania zmian ;) Jeszcze tylko jedno pytanie- bo fakt, jest to tablica (wiele elementów może tam być). Skoro muszę podać indeks elementu to co zrobić w wypadku, gdy do końca nie wiadomo ile elementów będzie?
1
komentarz 20 lutego 2018 przez ScriptyChris Mędrzec (190,190 p.)

Jeśli nie masz pewności, że tablica nie będzie pusta, to sprawdzaj jej property length. Jeśli chcesz parsować wszystkie elementy (będące JSONami) tablicy, to puść pętlę po tych elementach i na każdym wywołaj angular.fromJson()

komentarz 20 lutego 2018 przez Kondzio Mądrala (5,230 p.)
Dziękuję :)

Podobne pytania

0 głosów
1 odpowiedź 487 wizyt
0 głosów
1 odpowiedź 689 wizyt
pytanie zadane 30 września 2015 w JavaScript przez niezalogowany
0 głosów
0 odpowiedzi 136 wizyt
pytanie zadane 19 października 2017 w JavaScript przez redtyper Nowicjusz (140 p.)

92,555 zapytań

141,403 odpowiedzi

319,557 komentarzy

61,940 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...