terça-feira, 12 de julho de 2016

AngularJS - Expressions

As expressions são usadas para vincular dados da aplicação com o html. Elas são escritas entre chaves duplas como {{expression}}. Comportam-se de forma idêntica a diretiva ng-bind. As expressions de AngularJS são expressões JavaScript puras e mostram os dados onde eles são utilizados.

Usando números

<p>Preço do livro : R$ {{custo * quantidade}}</p>

Usando strings

<p>E aee {{estudante.nome + " " + estudante.sobrenome}}!</p>

Usando objetos

<p>Número: {{estudante.numero}}</p>

Usando array

<p>Matéria(Math): {{marks[1]}}</p>

Arquivo: test_angularjs.htm

<html>
   
   <head>
      <title>AngularJS Expressions</title>
   </head>
   
   <body>
      <h1>Expressions</h1>
      
      <div ng-app = "" ng-init = "quantidade = 1; custo = 50; estudante = {nome:'Jack',sobrenome:'Bauer',numero:150};marks = [1,2,3]">
         <p>E aee {{estudante.nome + " " + estudante.sobrenome}}!</p>
         <p>Preço do livro : R$ {{custo * quantidade}} </p>
         <p>Número: {{estudante.numero}}</p>
         <p>Matéria(Math): {{marks[1]}}</p>
      </div>
      
      <script src = "http://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js"></script>
      
   </body>
</html>


Saída:


domingo, 10 de julho de 2016

AngularJS - Directivas

Directivas

As diretivas AngularJS são usadas para estender o HTML. São atributos especiais que começam com o prefixo -ng. Vamos analisar:

  • ng-app - Define e linka uma aplicação AngularJS com o HTML.
  • ng-model - Linka os valores de dados da aplicação AngularJS com o HTML para inserir dados.
  • ng-bind - Linka os dados da aplicação com as tags HTML.
  • ng-repeat - Repete elementos HTML para cada item em uma collection.

ng-app

O ng-app inicia uma aplicação AngularJS. Ele define o elemento raiz. Ele automaticamente inicializa ou força a aplicação a carregar. Ele também é usado para carregar vários módulos AngularJS em uma aplicação. No seguinte exemplo, nós definimos uma aplicação AngularJS padrão usando o atributo ng aplicação de um elemento div.

<div ng-app = "">
...
</div>

ng-init

Inicializa dados de uma aplicação. É utilizado para colocar os valores para as variáveis a serem usadas na aplicação. No seguinte exemplo, vamos inicializar uma matriz de países. Nós estamos usando a sintaxe JSON para definir conjunto de países.

<div ng-app = "" ng-init = "countries = [{locale:'en-US',name:'United States'}, {locale:'en-GB',name:'United Kingdom'}, {locale:'en-FR',name:'France'}]">
...
</div>

ng-model

Define a model/variável para ser utilizada na aplicação. No seguinte exemplo, temos a model chamada "name".

<div ng-app = "">
...
<p>Insira seu nome: <input type = "text" ng-model = "name"></p>
</div>


ng-repeat

Repete elementos HTML para cada item em uma coleção. No seguinte exemplo, nós repetimos uma série de países.

<div ng-app = "">
...
<p>Lista de países:</p>
<ol>
<li ng-repeat = "country in countries">
{{ 'Country: ' + country.name + ', Locale: ' + country.locale }}
</li>
</ol>
</div>

Exemplo completo:

<html>
<head>
<title>AngularJS</title>
</head>
<body>
<h1>Países</h1>
<div ng-app = "" ng-init = "countries = [{locale:'en-US',name:'United States'}, {locale:'en-GB',name:'United Kingdom'}, {locale:'en-FR',name:'France'}]">
<p>Insira o nome de seu país: <input type = "text" ng-model = "name"></p>
<p>Meu país = <span ng-bind = "name"></span>!</p>
<p>Lista de países:</p>
<ol>
<li ng-repeat = "country in countries">
{{ 'País: ' + country.name + ', Locale: ' + country.locale }}
</li>
</ol>
</div>
<script src = "http://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js"></script>
</body>
</html>

Saída: