Angular Flashcards

1
Q

O que é um module (módulo)?

A

Um module é um mecanismo para agrupar components, directives , pipes e services relacionados, de forma a combinar com outros módulos para criar um aplicativo.
São uma forma de organizar e separar seu código logicamente.
Apps menores geralmente só precisam do app.module, maiores projetos passam a usar outros módulos

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Para que serve a seção de ‘imports’ no início de módulos

A

importa outros módulos!… ou até componentes

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Dentro do decorator são colocadas algumas propriedas de um Component. Por exemplo, o selector. Para que serve o selector?

A

selector é como identificamos o nosso componente. Para todo o componente existe um elemento único associado que permite que ele seja adicionado em um documento HTML.
é um string usualmente escrito como ‘app-[[NOME]]’

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Dentro do decorator são colocadas algumas propriedas de um Component. Por exemplo, o TemplateUrl . Para que serve o TemplateUrl ?

A

TemplateUrl é o nome do documento HTML que será a parte visual do componente. Nele podemos ter código em HTML juntamente com todos os bindings e diretivas necessários para a exibição do componente no navegador

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

A estrutura de um Component é também geralmente formada por HTML+CSS+TS(JS).
Essas partes são organizadas em arquivos separados e unidas nos metadados do componente através de que?

A

Através do decorator -> @Component, que faz parte, geralmente, do arquivo “exemplo.component.ts”, usualmente dentro da pasta do próprio component

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

diferença do template VS templateURL (geralmente inseridos no decorator do component)?

A

template: modelo de codigo dentro do próprio arquivo, modelo embutido, modelo inline.
OBS: utilizar ` `
templateURL: outro arquivo externo é referido

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

como criar um COMPONENT via comando CLI?

A

ng generate component NOME-DO-COMPONENT,

ou ainda:
ng g c nome-do-component

(ei, não mate o ng serve ein!)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Ao criar um novo component, o que é minimamente obrigatório alterar no arquivo app.module.ts?

A

dar um import no início do arquivo, por exemplo:
import { ExemploComponent } from ‘./exemplo/exemplo.component’;

E também declará-lo em ‘declarations’ do decorator @NgModule

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

String interpolation syntax:
em um arquivo html, usar duplas chaves fechando e abrindo {{ algumconteúdo }} faz o que?

A

Posso escrever uma expressão em typescript dentro das chaves duplas, mais comumente, chamamos alguma variavel/propriedade.
OBS: o resultado DEVE ser uma string (ou um resultado convertível para string)
Ex: se eu chamar um método la dentro, ele deve retornar uma string obrigatoriamente
–Displaying values with interpolation–

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

o que é Event Binding?

A

recurso para vincular um certo evento disparado pelo navegador a um código da aplicação.
O event binding nos permite “escutar” e responder por ações como:
keystrokes, mouse movements, clicks, and touches.
Geralmente escrito como, exemplo:
<button (click)=”onSave()”>Save</button>

(event)=”algumMétodo()”
(geralmente um método!)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q
  • vinculação unidirecional, no sentido do typescript para o html
  • associa informação do componente para o template (HTML)
  • posso, dessa forma, alterar alguma propriedade de uma tag html

Do que se trata as definições acima?

A

Property Binding

  • [propriedade]=”valor”
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

diferencie: Interpolação, property binding, event binding e two-way binding

A

Interpolação: {{ valor }}
associa informação do componente para o template (HTML)

Property Binding: [propriedade]=”valor”
associa informação do componente para o template (HTML)

Event Binding: (evento)=”handler”
associa informação do template (HTML) para o componente

Two-Way Data Binding: [(ngModel)]=”propriedade”
associa informação entre ambos, ou seja, mantém ambos atualizados (componente e template (HTML).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

o que é Databinding com Angular?

A

Podemos dizer que databinding é a comunicação entre a view e a lógica, quando atualizamos a lógica ela reflete na view.

Existem três tipos de databinding no Angular:

One way databinding, que vai da lógica do JS para o view do HTML.
A saída de dados da lógica reflete na view como String Interpolation ou Property binding.
One way databinding, da view para lógica.
Aqui podemos reagir a eventos do HTML, como clicks de botões, com o Event binding.
Two way binding, entre a lógica e a view.
Aqui é uma combinação, podemos reagir a eventos e output ao mesmo tempo.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

<input [(ngModel)]=”text”>

<h2>{{ text }}</h2>

o que faz o comando acima? (colocado nas linhas de codigo do app.component.html, por exemplo)

A

a primeira linha é um comando clássico de TWO WAY DATA BINDING.
nesse caso, é adicionado um input ao “view”, o que for escrito no input é salvo em uma variável chamada text.
Logo abaixo, no h2, é mostrado o que é digitado no input, por meio de uma interpolação.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

<div *ngIf=”races.length > 0”><h2>Races</h2></div>

explique o que está ocorrendo no codigo acima

A

Exemplo de uso da diretiva estrutural ngIf.
Aqui o h2 será exibido (o qual contém o texto “Races”) somente se o races.length for maior que zero. Do contratio, o div sumirá por completo

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

<div *ngIf=”races.length > 0; else empty”><h2>Races</h2></div>
<ng-template #empty><h2>No races.</h2></ng-template>

explique o que está ocorrendo no codigo acima

A

Exemplo de uso da diretiva estrutural ngIf acrescido de um else utilizando variável local.
PRIMEIRO) o h2 será exibido (o qual contém o texto “Races”) somente se o races.length for maior que zero.
SEGUNDO) do contrário, é utilizado variavel local empty. será mostrado o escrito no segundo h2 dessa forma

17
Q

qual é o principal uso do ngFor?

A

Mostrar listas (dispostas em arrays, por exemplo) que aparecem cada item de forma dinâmica. o ngFor permite que se instancie um template para cada item em uma coleção/lista

18
Q

<div [ngSwitch]=”messageCount”>
<p *ngSwitchCase=”0”>You have no message</p>
<p *ngSwitchCase=”1”>You have a message</p>
<p *ngSwitchDefault>You have some messages</p>
</div>

A

As you can guess from its name, this directive allows to switch between different templates based
on a condition.
As you can see, ngSwitch takes a condition and the *ngSwitchCase take the possible values. You can
also have *ngSwitchDefault that will be displayed if none of the values matched.

19
Q

Para que adicionar um decorator @Input() antes de uma propriedade dentro de um component? (além de adiciona-lo no imports desse component)

A

Para expor essa propriedade para outros componentes pais e, assim, pode ser usada (comunicada - binded)

palavra chave: binding to custom propierties

20
Q

para que serve o EventEmitter?

A

Data flows into your component via property bindings and flows out of your component through event bindings. If you want your component to notify his parent about something you can use the Output decorator with EventEmitter to create a custom event..

palavra chave: binding to custom event