Korzystam z Angulara i chcę użyć *ngIf else
(dostępny od wersji 4) w tym przykładzie:
<div *ngIf="isValid">
content here ...
</div>
<div *ngIf="!isValid">
other content here...
</div>
Jak mogę osiągnąć to samo zachowanie ngIf else
?
angular
if-statement
angular-template
kawli norman
źródło
źródło
Odpowiedzi:
Kąt 4 i 5 :
za pomocą
else
:możesz także użyć
then else
:lub
then
sam:Próbny :
Plunker
Detale:
<ng-template>
: jest własną implementacją<template>
tagu Angulara, która jest zgodna z MDN :źródło
<ng-container>
klauzuli ifng-container
dla kontenera zawierającego * ngIf, ale nie dla szablonu*ngIf
na pracęng-template
?W Angular 4.xx Możesz użyć ngIf na cztery sposoby, aby uzyskać prostą procedurę, jeśli inaczej:
Po prostu użyj If
Używanie If with Else (uwaga na templateName )
Używanie If z Then (uwaga na templateName )
Używanie If z Then i Else
źródło
...; else ...
. Prawdopodobnie;
należy je usunąć....; else ...
Aby pracować z obserwowalnym, to zwykle robię, aby wyświetlić, jeśli obserwowalna tablica składa się z danych.
źródło
„bindEmail” sprawdzi, czy e-mail jest dostępny, czy nie. jeśli istnieje adres e-mail, wyświetli się Wyloguj, w przeciwnym razie wyświetli się Logowanie
źródło
Możesz użyć
<ng-container>
i<ng-template>
dla osiągnięcia tegoPoniżej znajduje się demo Stackblitz Live
demo na żywo
Mam nadzieję, że to pomoże ... !!!
źródło
Dla Angular 9/8
Link źródłowy z przykładami
1) * ngIf
2) * ngIf i Else
3) * ngIf, Then and Else
źródło
Składnia dla ngIf / Else
Używanie NgIf / Else / Then jawnej składni
Aby dodać szablon, musimy po prostu powiązać go z szablonem.
Obserwowalne za pomocą NgIf i Async Pipe
Po więcej szczegółów
źródło
Po prostu dodaj nowe aktualizacje z Angular 8.
źródło
W Angular 4.0
if..else
składnia jest dość podobna do operatorów warunkowych w Javie.W Javie używasz do
"condition?stmnt1:stmnt2"
.W Angular 4.0 używasz
*ngIf="condition;then stmnt1 else stmnt2"
.źródło
Wynikowa wartość wyrażenia ngif nie będzie tylko logiczną wartością prawda lub fałsz
jeśli wyrażenie jest tylko przedmiotem, nadal ocenia je jako prawdę.
jeśli obiekt jest niezdefiniowany lub nie istnieje, to ngif oceni to jako fałsz.
powszechnym zastosowaniem jest, jeśli obiekt został załadowany, istnieje, a następnie wyświetla zawartość tego obiektu, w przeciwnym razie wyświetla „ładowanie .......”.
inny przykład:
inny przykład:
szablon ngif
ngif kątowy 4
źródło
ng-template
źródło
Istnieją dwie możliwości użycia warunku w znaczniku HTML lub szablonach:
źródło
źródło
W kątach 4, 5 i 6
Możemy po prostu utworzyć zmienną odniesienia szablonu [2] i połączyć ją z warunkiem else w dyrektywie * ngIf
Możliwe składnie [1] to:
DEMO: https://stackblitz.com/edit/angular-feumnt?embed=1&file=src/app/app.component.html
Źródła:
źródło
Możesz także użyć trójskładnikowego operatora warunkowego Javascript? pod kątem:
lub
źródło
Wiem, że minęło trochę czasu, ale chcę to dodać, jeśli to pomoże. Sposób, w jaki poszedłem, to posiadanie dwóch flag w komponencie i dwóch ngIf dla odpowiednich dwóch flag.
To było proste i działało dobrze z materiałem, ponieważ szablon ng i materiał nie działały dobrze razem.
źródło