Warunkowe wyświetlanie komponentów

0

Cześć,

Jestem początkujący z angulara i nie rozumiem jednej rzeczy.

Mam np. taką listę: lista = ["Adam", "Zosia", "Piotr", "Stefan"]
I chcę w component.html przeiterować po niej i wyświetlić tylko Piotra.
Poniższy kod nie działa. Dlaczego ?

<ng-container *ngFor="let elementListy of lista">
  <li *ngIf="elementListy=='Piotr'">
    {{elementListy}}
  </li>
</ng-container>

W pierwszej linii iteruje po elementach listy.
W drugiej sprawdzam czy kolejny element to 'Piotr'
Jeśli tak to wyświetlam, jeśli nie to nie wyświetlam.
Co robię źle?

Dodam jeszcze, że w przypadku gdy działam na liscie obiektow to da się tak zrobić. Ze zwykłą lista elementów nie bardzo.

2

Co to znaczy nie działa? (wyświetlają się wszystkie elementy, nie wyświetla się żaden, komputer staje w płomieniach itd.)

0

U mnie działa :) (serio, skopiowałem twój kod)
ogólnie zamiast == powinieneś robić ===
Poczytaj o JavaScript/TypeScript i naucz się go zanim zaczniesz się bawić frameworkami.

0

U mnie też działa. Więc pewnie masz problem gdzieś indziej. Jak podajesz te dane do komponentu? Czy jak usuniesz *ngIf to dalej "nie działa"?

1

Dobra, nie było tematu...
Zrobiłem po prostu głupią rzecz, aż wstyd trochę :-)
Zadeklarowałem listę tak że miała jeden element, więc warunek nie był spełniony:

lista = ["Piotr, Adam, Zenon, Krzysiek,Zosia"];

Uczę się dopiero i skupiłem się na sprawdzaniu czemu kod w pliku html nie dziala i zupełnie nie pomyślałem, że przy tworzeniu listy mogłem się walnąć.
Działa już, dziękuję :-)

1 użytkowników online, w tym zalogowanych: 0, gości: 1