Background Image
Table of Contents Table of Contents
Previous Page  30 / 68 Next Page
Basic version Information
Show Menu
Previous Page 30 / 68 Next Page
Page Background

POST

DO DIEGO

DEV WEB

30

Cargo:

Criador do

Tableless.com.br e

coordenador de

Front-end na Locaweb

Contato:

diego@

tabeless.com.br

Twitter:

@diegoeis

DIEGO EIS

m dos princípios do AngularJS

é levar a parte da lógica

das funcionalidades dos

componentes direto para o

HTML. Para fazer isso, é preciso

usar suas diretivas. Elas ajudam

a diminuir código de JS para executar

tarefas simples, como uma funcionalidade

de abas, por exemplo.

Inicie as abas

Este é umHTML simples, com o código

HTML básico para formatar o visual e acomodar o

conteúdo das abas. Veja o código funcional aqui:

KWWS MVíGGOH QHW WDEOHOHVV D FFSVY

.

Nesse momento, ainda não há nenhuma

funcionalidade, só estilo CSS. Vamos começar

inserindo as diretivas a partir de agora.

Insira as diretivas

A primeira diretiva se chama ‘ng-app’. Ela inicia

uma app AngularJS, avisando que aquele pedaço

de HTML é o escopo da aplicação. Neste exemplo,

inseri ‘ng-app’ no meu div ‘.container’, que é o div

que engloba tudo, mas geralmente o ‘ng-app’ é

colocado na tag ‘html’.

Feito isso, insira duas diretivas no HTML que

fazem as abas: ‘ng-click’ e ‘ng-class’.

à $ED

à $ED

A diretiva ng-click detecta o clique no elemento

e executa algum comportamento. Nesse caso,

HOH YDL GHíQLU XPD YDUL£YHO FRQWH[WXDO FKDPDGD

‘tab’, atribuindo o valor 1, 2 ou 3 para essa variável,

dependendo da aba clicada.

A diretiva ng-class permite adicionar uma

classe dinamicamente no elemento por meio de

uma expressão. O valor que adicionamos ali é

uma condicional que adiciona a classe ACTIVE em

determinado valor da variável tab.

Agora, para fechar, adicione mais uma

diretiva chamada ‘ng-show’ aos conteúdos das

respectivas tabs. A diretiva ng-show (https://

docs.angularjs.org/api/ng/directive/ngShow)

mostra ou esconde o elemento baseado em

alguma expressão ou condicional.

<div ng-show="tab == 1">conteúdo tab 1</div>

<div ng-show="tab == 2">conteúdo tab 2</div>

Perceba que o AngularJS já começa a fazer

a mágica aqui. O ‘ng-click’ cria a variável ‘tab’ e

DWULEXL XP YDORU 2 ØQJ FODVVÙ YHULíFD HVVD YDUL£YHO

se for igual ao valor determinado, ele adiciona a

classe. O ‘ng-show’ já faz o trabalho de mostrar ou

não os conteúdos de acordo com a aba clicada,

YHULíFDQGR R YDORU DWXDO GD YDUL£YHO ØWDEÙ 6HP

JavaScript, baby! Veja o exemplo completo neste

link:

KWWS MVíGGOH QHW WDEOHOHVV D FFSVY

.

Faltou uma diretiva. Trata-se da ‘ng-init’

( https://docs.angularjs.org/api/ng/directive/ngInit )

,

TXH DYDOLD H PRGLíFD XPD H[SUHVV¥R GHQWUR GR

escopo atual – que, neste exemplo, é tudo o que

está no ‘ng-app’. Coloque na tag HTML este atributo:

‘ng-init="tab=1"’. Isso vai fazer comque a primeira tab

seja iniciada logo no load do documento.

U

[

O EXEMPLO

DAS TABS E

OUTROS TESTES

APLICADOS

AQUI PODEM

SER VISTOS NO

LINK BIT.LY/

ANGULARTESTS

]

PORDENTRO

DOANGULARJS

LW

REVISTA LOCAWEB