Estou usando Angular e quero usar *ngIf else
(disponível desde a versão 4) neste exemplo:
<div *ngIf="isValid">
content here ...
</div>
<div *ngIf="!isValid">
other content here...
</div>
Como posso obter o mesmo comportamento ngIf else
?
angular
if-statement
angular-template
kawli norman
fonte
fonte
Respostas:
Angular 4 e 5 :
usando
else
:você também pode usar
then else
:ou
then
sozinho:Demo:
Plunker
Detalhes:
<ng-template>
: é a implementação da<template>
tag pela Angular, de acordo com o MDN :fonte
<ng-container>
a cláusula se #ng-container
para o contêiner que contém * ngIf, mas não para o modelo*ngIf
trabalharng-template
?No Angular 4.xx, você pode usar o ngIf de quatro maneiras para obter um procedimento simples, caso contrário:
Basta usar se
Usando If with Else (observe o templateName )
Usando If with Then (observe para templateName )
Usando If com Then e Else
fonte
...; else ...
. Provavelmente o;
deve ser removido....; else ...
e funcionouPara trabalhar com observável, é o que eu costumo fazer para exibir se a matriz observável consiste em dados.
fonte
"bindEmail" verificará se o email está disponível ou não. se existir um e-mail, o Logout será exibido, caso contrário, o Login será exibido
fonte
Você pode usar
<ng-container>
e<ng-template>
para conseguir issoVocê pode encontrar a demonstração do Stackblitz Live abaixo
demonstração ao vivo
Espero que isso ajude ... !!!
fonte
Para Angular 9/8
Link de origem com exemplos
1) * ngIf
2) * ngIf e Else
3) * ngIf, Then e mais
fonte
Sintaxe para ngIf / Else
Usando sintaxe NgIf / Else / Then explícita
Para adicionar um modelo, basta vinculá-lo explicitamente a um modelo.
Observáveis com NgIf e Async Pipe
Para mais detalhes
fonte
Basta adicionar novas atualizações do Angular 8.
fonte
No Angular 4.0, a
if..else
sintaxe é bastante semelhante aos operadores condicionais em Java.Em Java você usa
"condition?stmnt1:stmnt2"
.No Angular 4.0 você usa
*ngIf="condition;then stmnt1 else stmnt2"
.fonte
valor resultante da expressão ngif não será apenas o verdadeiro ou falso booleano
se a expressão é apenas um objeto, ainda a avalia como veracidade.
se o objeto for indefinido ou inexistente, o ngif o avaliará como falsidade.
o uso comum é se um objeto carregado existir, exibir o conteúdo desse objeto, caso contrário, exibir "loading .......".
outro exemplo:
exemplo anthoer:
modelo ngif
ngif angular 4
fonte
ng-template
fonte
Há duas possibilidades de uso se condição na tag ou nos modelos HTML:
fonte
fonte
Nas angulares 4, 5 e 6
Podemos simplesmente criar uma variável de referência de modelo [2] e vinculá-la à condição else dentro de uma diretiva * ngIf
As possíveis sintaxes [1] são:
DEMO: https://stackblitz.com/edit/angular-feumnt?embed=1&file=src/app/app.component.html
Fontes:
fonte
Você também pode usar o operador condicional ternário curto Javascript? em angular assim:
ou
fonte
Sei que já faz um tempo, mas quero adicioná-lo, se ajudar. A maneira como eu trabalhei é ter dois sinalizadores no componente e dois ngIfs para os dois sinalizadores correspondentes.
Era simples e funcionava bem com o material, pois o ng-template e o material não estavam funcionando bem juntos.
fonte