Angular 2 - Diretivas
UMA directiveé um elemento HTML personalizado usado para estender o poder do HTML. Angular 2 tem as seguintes diretivas que são chamadas como parte do módulo BrowserModule.
- ngif
- ngFor
Se você visualizar o arquivo app.module.ts, verá o código a seguir e o módulo BrowserModule definido. Ao definir este módulo, você terá acesso às 2 diretivas.
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { AppComponent } from './app.component';
@NgModule ({
imports: [ BrowserModule ],
declarations: [ AppComponent ],
bootstrap: [ AppComponent ]
})
export class AppModule { }
Agora, vamos examinar cada diretiva em detalhes.
ngIf
o ngif element é usado para adicionar elementos ao código HTML se for avaliado como verdadeiro, caso contrário, não adicionará os elementos ao código HTML.
Sintaxe
*ngIf = 'expression'
Se a expressão for avaliada como verdadeira, o correspondente será adicionado, caso contrário, os elementos não serão adicionados.
Vamos agora dar uma olhada em um exemplo de como podemos usar a diretiva * ngif.
Step 1- Primeiro adicione uma propriedade à classe chamada appStatus. Será do tipo booleano. Vamos manter esse valor como verdadeiro.
import { Component } from '@angular/core';
@Component ({
selector: 'my-app',
templateUrl: 'app/app.component.html'
})
export class AppComponent {
appTitle: string = 'Welcome';
appStatus: boolean = true;
}
Step 2 - Agora, no arquivo app.component.html, adicione o código a seguir.
<div *ngIf = 'appStatus'>{{appTitle}} Tutorialspoint </div>
No código acima, agora temos a diretiva * ngIf. Na diretiva, estamos avaliando o valor da propriedade appStatus. Como o valor da propriedade deve ser avaliado como verdadeiro, isso significa que a tag div deve ser exibida no navegador.
Depois de adicionar o código acima, obteremos a seguinte saída no navegador.
Resultado
ngFor
o ngFor elemento é usado para elementos com base na condição do loop For.
Sintaxe
*ngFor = 'let variable of variablelist'
A variável é uma variável temporária para exibir os valores no variablelist.
Vamos agora dar uma olhada em um exemplo de como podemos usar a diretiva * ngFor.
Step 1- Primeiro adicione uma propriedade à classe chamada appList. Será do tipo que pode ser usado para definir qualquer tipo de matriz.
import { Component } from '@angular/core';
@Component ({
selector: 'my-app',
templateUrl: 'app/app.component.html'
})
export class AppComponent {
appTitle: string = 'Welcome';
appList: any[] = [ {
"ID": "1",
"Name" : "One"
},
{
"ID": "2",
"Name" : "Two"
} ];
}
Portanto, estamos definindo appList como um array que possui 2 elementos. Cada elemento possui 2 subpropriedades como ID e Nome.
Step 2 - No app.component.html, defina o código a seguir.
<div *ngFor = 'let lst of appList'>
<ul>
<li>{{lst.ID}}</li>
<li>{{lst.Name}}</li>
</ul>
</div>
No código acima, agora estamos usando a diretiva ngFor para iterar por meio do array appList. Em seguida, definimos uma lista em que cada item da lista é o parâmetro de ID e nome do array.
Depois de adicionar o código acima, obteremos a seguinte saída no navegador.