Escolar Documentos
Profissional Documentos
Cultura Documentos
Toaz - Info Angularjs Mastery Code Like A Pro Guide PR
Toaz - Info Angularjs Mastery Code Like A Pro Guide PR
Domínio de AngularJS
Este documento tem como objetivo fornecer informações exatas e confiáveis sobre o tema e assunto abordado. A publicação é
vendida com a ideia de que o editor não é obrigado a prestar serviços contábeis, oficialmente autorizados ou não, qualificados.
Se for necessário aconselhamento, jurídico ou profissional, deverá ser solicitado um indivíduo com experiência na profissão.
- De uma Declaração de Princípios que foi aceita e aprovada igualmente por um Comitê da American Bar Association e por um
Comitê de Editores e Associações.
De forma alguma é legal reproduzir, duplicar ou transmitir qualquer parte deste documento, seja por meio eletrônico ou em
formato impresso. A gravação desta publicação é estritamente proibida e qualquer armazenamento deste documento não é
permitido, a menos que haja permissão por escrito do editor. Todos os direitos reservados.
As informações aqui fornecidas são declaradas verdadeiras e consistentes, na medida em que qualquer responsabilidade, em
termos de desatenção ou de outra forma, por qualquer uso ou abuso de quaisquer políticas, processos ou instruções contidas
nele é de responsabilidade solitária e absoluta do leitor destinatário. Sob nenhuma circunstância qualquer responsabilidade legal
ou culpa será atribuída ao editor por qualquer reparação, danos ou perda monetária devido às informações aqui contidas, direta
ou indiretamente.
As informações aqui contidas são oferecidas apenas para fins informativos e, como tal, são universais. A apresentação das
informações é feita sem contrato ou qualquer tipo de garantia.
As marcas registradas usadas não têm qualquer consentimento e a publicação da marca registrada ocorre sem permissão ou
apoio do proprietário da marca registrada. Todas as marcas registradas e marcas contidas neste livro são apenas para fins de
esclarecimento e são de propriedade dos próprios proprietários, não afiliados a este documento.
Machine Translated by Google
Conteúdo
Introdução
Arquitetura MVC
O modelo
O controlador
Recursos principais
Visualizações
Expressões
Módulos
Diretivas
A Diretiva do modelo ng
Ligação de dados
Visualização HTML
Vinculação bidirecional
Controladores
Escopos
Filtros
Serviços
Métodos
Propriedades
JSON
Selecione
Eventos
Formulários
API Global
Machine Translated by Google
Inclui
Roteamento
Controladores
Modelos
Capítulo 7: Juntando tudo
Dicas para implementar AngularJS
Conclusão
Machine Translated by Google
Introdução
Quero agradecer e parabenizá-lo por baixar o livro “AngularJS Mastery: A Code-Like-a-Pro Guide for AngularJS
Beginners”. Este livro contém etapas e estratégias comprovadas sobre como criar aplicativos da Web poderosos
e dinâmicos usando essa popular estrutura JavaScript. Aprenda a teoria e os princípios por trás do AngularJS
enquanto acompanha este guia passo a passo fácil para o desenvolvimento de aplicativos da web.
Obrigado novamente por baixar este livro, espero que você goste!
Machine Translated by Google
Na constelação de frameworks JavaScript que estão agora disponíveis, AngularJS fornece um pacote de funções que permite aos
desenvolvedores projetar aplicações web rápidas e poderosas, capazes de lidar com grandes arquivos de dados. AngularJS é uma estrutura
de aplicativo da web de código aberto. AngularJS ajuda os desenvolvedores da web a criar lógica de programação para seus aplicativos na
página da web real e vincular o modelo de dados do aplicativo da web a bancos de dados e serviços de back-end. Essa interessante linguagem
de script de programa também permite que a lógica do design da UI seja expressa em um arquivo de modelo HTML. Isto é particularmente útil
para a apresentação de dados. AngularJS fornece uma estrutura útil para desenvolvimento web e agiliza todo o processo de design e teste de
aplicativos baseados na web. Ao aprender AngularJS, você será capaz de criar aplicações web interativas com código bem estruturado e
simples de atualizar e manter.
AngularJS é uma estrutura JavaScript para criação de aplicativos web dinâmicos. Ele expande os recursos de um modelo HTML,
permitindo que os designers transformem páginas da Web estáticas em aplicativos da Web totalmente interativos.
AngularJS usa os conceitos de vinculação de dados e injeção de dependência de maneiras que reduzem bastante a quantidade de código
que seria necessária com outras linguagens de programação web.
Isso é feito através da geração de novas estruturas HTML. Angular ajuda o navegador da web a interpretar a sintaxe original usando várias
diretivas, incluindo: Ligação de dados Estruturas de controle de objetos para replicar
elementos da
página da web.
Ao usar a estrutura JavaScript AngularJS, você será capaz de criar aplicativos da web poderosos e fáceis de manter. Os desenvolvedores
da Web usam o modelo Model View Controller (MVC) ao codificar em AngularJS. Essa linguagem de programação é popular entre os
desenvolvedores web, em parte porque o AngularJS funciona com JavaScript em qualquer navegador, e a biblioteca AngularJS é de código
aberto e totalmente gratuita.
Machine Translated by Google
Código testável.
Componentes reutilizáveis.
Desvantagens do AngularJS O
AngularJS não é seguro: como toda a estrutura consiste em JavaScript, os dados armazenados nos aplicativos AngularJS não são
seguros.
AngularJS não é degradável: Se o JavaScript estiver desabilitado no navegador do usuário, o aplicativo não funcionará.
Machine Translated by Google
Precisamos das seguintes ferramentas para configurar um ambiente de desenvolvimento para AngularJS:
Para trabalhar com este livro, você precisará configurar seu ambiente de desenvolvimento AngularJS.
Para isso você precisará de:
Editor de texto/IDE
Navegador
servidor web
Biblioteca Angular JS
Editor de texto/IDE
AngularJS é basicamente composto de HTML e JavaScript, portanto, qualquer editor de texto/IDE padrão serve. Você pode considerar um dos
seguintes programas gratuitos: Notepad++
Texto sublime
Estúdio Aptana 3
Ultraedição
Organizador de texto
Eclipse
Estúdio visual
servidor web
Se você estiver desenvolvendo em seu computador local, poderá usar servidores web como Apache ou MS IIS.
Navegador da Web
Qualquer navegador importante, como Chrome, Firefox ou Safari, funcionará para essa finalidade e é compatível com vários navegadores
AngularJS. Apenas certifique-se de que o JavaScript esteja ativado.
Biblioteca Angular JS
Machine Translated by Google
Baixando AngularJS
GitHub - Ao clicar neste botão, você pode baixar e instalar a biblioteca para uso direto do seu servidor.
Baixe a versão 1
Baixe a versão 2
Se desejar fazer download de uma biblioteca, selecione Versão 1.
Como AngularJS é uma biblioteca JavaScript, a única coisa necessária para trabalhar com AngularJS em seu
ambiente é fornecer ao aplicativo acesso ao arquivo da biblioteca angular.js com uma tag <script> nos modelos HTML.
Isso pode ser feito usando a Content Delivery Network (CDN), que fornece uma URL para baixar a biblioteca de uma
fonte on-line, como o Google's
(<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.5/angular.min.js">
</script>). Se o aplicativo não conseguir se conectar à fonte, ele não funcionará. Outra forma de fornecer a biblioteca
angular.js é baixá-la diretamente de (http://angularjs.org) e forneça a biblioteca por meio de seu servidor web. Isso torna
o aplicativo mais lento, mas é mais confiável. Usaremos a biblioteca on-line CDN ao longo deste livro.
Inicializando AngularJS
Para usar AngularJS em sua aplicação web você deve incluir o seguinte Script. <script src="http://code.angularjs.org/
1.0.5/angular.js"> </script>. O navegador carrega e executa este arquivo ao mesmo tempo. Cada segmento de código
AngularJS em seu aplicativo funciona como uma função singular, e a última linha incluída no script executa essa função
específica. (function(window, document, undefined) {'use strict';......// Todo o código AngularJS da sua aplicação está
escrito aqui.})(window, document); //a última linha do seu código informa ao navegador para iniciar a função.
Cada função AngularJS requer um objeto para o local HTML específico em que o código está escrito. Quando o objeto
é identificado, o ouvinte de evento "DOMContentLoaded" do AngularJS envia um retorno de chamada para iniciar a
execução de todas as diretivas da função. Assim que o AngularJS recebe um retorno de chamada, indicando que o objeto
foi carregado, ele consulta a "diretiva ng-app" para saber quais elementos HTML serão afetados pela função. As instruções
são então executadas para essa função específica e ela começa a implementar as diretivas. AngularJS refere-se a todo
esse processo como “Inicialização Automática”.
Existem duas partes neste processo. A primeira parte envolve o uso da diretiva ng-app para definir o módulo do
aplicativo. Esta diretiva (normalmente carregada na tag <html>) sinaliza ao compilador para considerá-la a raiz. A segunda
parte é carregar a biblioteca angular.js com a tag <script> mencionada acima. A diretiva ng-app serve para garantir que
toda a página da web seja incluída; entretanto, você poderia adicioná-lo a outro elemento do contêiner, e apenas os
elementos dentro desse contêiner seriam incluídos na compilação do AngularJS e, consequentemente, na funcionalidade
do aplicativo AngularJS.
AngularJS inclui um compilador HTML que procura diretivas no modelo AngularJS e usa código de diretiva JavaScript
para criar elementos HTML estendidos. O compilador HTML permite ensinar ao navegador a nova sintaxe HTML. Também
permite atribuir comportamentos a quaisquer elementos ou atributos HTML. Na verdade, você pode até criar novos
elementos ou atributos HTML que tenham comportamentos exclusivos.
Essas extensões HTML são chamadas de diretivas. Angular tem muitas diretivas integradas que são úteis na construção
de qualquer aplicativo. Todas as diretivas são executadas pelo navegador da web, eliminando qualquer necessidade de
codificação no servidor.
Link: Combine as diretivas com um escopo (dados) e produza uma visualização ao vivo para o usuário. Todas as alterações no modelo
de escopo são projetadas na visualização. Todas as alterações nas interações do usuário na visualização também são atualizadas no
modelo de escopo.
O compilador é carregado no navegador da web quando a biblioteca é inicializada. Depois de carregado, o compilador
examinará o HTML, vinculará qualquer código JavaScript de back-end aos elementos da página da web e renderizará a
visualização do cliente para o usuário do aplicativo. Como o compilador procura por diretivas assim que o script angular.js
é carregado, é uma prática recomendada incluir a biblioteca angular.js como uma das últimas tags no <body> do HTML,
o que ajuda a carregar a página da web. mais rapidamente.
_____________________________________________________________________________
Machine Translated by Google
<!doctype html>
<html ng-app="myApp">
<body>
<script src="http://code.angularjs.org/1.2.9/angular.min.js"></script> <script
src="/lib/myApp.js"></script> </body>
</html>
______________________________________________________________________________
Machine Translated by Google
Um aplicativo de página única (SPA) é um aplicativo completo que funciona inteiramente em um navegador da web.
Como consistem em páginas da web únicas, o SPA não exige que as páginas sejam recarregadas durante uma sessão do cliente.
Recursos do SPA
As páginas da Web em SPAs são geradas dinamicamente. Isso permite apresentações e experiências personalizadas com base na
interação do usuário com o aplicativo. Os SPAs não estão restritos a caminhos lineares de URL a URL em um site. Eles funcionam no
modelo MVC (explicado posteriormente neste livro), que permite que um controlador determine a sequência de apresentações de páginas,
com base nas interações do usuário.
Todas as interações do usuário resultam na criação e carregamento de várias seções da página web.
Tudo isso é regulado por componentes AngularJS integrados que são especialmente projetados para executar partes separadas do
processo.
As páginas web geradas dinamicamente podem ser carregadas em momentos diferentes com conteúdo de diferentes servidores,
porque AngularJS usa AJAX (Asynchronous JavaScript and XML), um protocolo de programação web.
AngularJS está acima dos aplicativos da web que dependem do modelo de modelagem de servidor, usando seu servidor da web de
aplicativos para lidar com a alteração de dados e incorporá-los ao HTML. Quando interage com a página da web, uma operação HTTP
POST ou HTTP GET é executada no servidor da web, resultando em um novo HTML sendo passado para o navegador e renderizado para
o usuário.
Machine Translated by Google
A estrutura AngularJS é baseada no modelo MVC (Model View Controller). Com essa estrutura, os desenvolvedores podem
criar aplicativos poderosos, altamente estruturados, relativamente fáceis de entender e simples de manter. O modelo MVC possui
três componentes: o Modelo (que é a fonte de dados), a Visualização (que é o que é visto na página web) e o Controlador (que
regula as interações entre o Modelo e a Visualização). O modelo MVC foi projetado para separar tarefas Java Script (JS), o que
ajuda a manter seu código JS organizado e compreensível.
Arquitetura MVC
Um benefício do MVC é que ele separa a lógica da aplicação da interface do usuário e compartimenta as preocupações. O
controlador obtém solicitações do aplicativo e ajuda o modelo a preparar os dados necessários para a visualização. Assim, separa a
lógica de negócios, a lógica de apresentação e a lógica de navegação. A visão, por sua vez, utiliza os dados entregues pelo
controlador para renderizar uma apresentação do cliente. Abaixo está uma representação gráfica deste modelo.
O modelo
O modelo gerencia os dados do aplicativo respondendo às solicitações da visualização e do controlador para se atualizar.
Machine Translated by Google
A vista
Esta é uma apresentação renderizada de dados para o cliente/usuário. A visualização é ativada pelas instruções do controlador para
apresentar os dados. Muitos sistemas baseados em scripts, como JSP, ASP, PHP e relativamente simples de integrar com a
tecnologia AJAX (Asynchronous JavaScript and XML).
O controlador
O controlador opera em resposta à entrada do usuário. Ele recebe solicitações do usuário, constrói o objeto modelo e passa esse
objeto para a visualização.
Modelo
Um modelo em AngularJS pode ser uma string, um número, um booleano ou qualquer objeto JavaScript. O modelo existe dentro do
controlador.
Visualizar
A visualização é o que o cliente vê dentro de um elemento HTML. Com AngularJS, a visualização é um objeto no Document Object
Model (DOM) que exibe dados do controlador. AngularJS usa vinculação de dados bidirecional (discutida posteriormente neste livro),
em que a visualização é atualizada automaticamente quando há alterações no modelo. Você não precisa escrever um código especial
para lidar com esse processo; o controlador cuida disso automaticamente.
Controlador
O controlador é onde colocamos nossa lógica de aplicação. No AngularJS, um controlador é formado por classes javascript. Os
controladores nos permitem solicitar componentes para trabalhar. O modelo de dados é colocado dentro do controlador.
______________________________________________________________________________
Exemplo_(Criando o Controlador)__________________________________________________
função ExemploCtrl($escopo) {
//código do controlador aqui
__________________________________________________________________________
Isso cria uma classe JavaScript que é nosso controlador. O argumento com o cifrão ($) é chamado de escopo e é necessário um para
cada controlador que criamos. O objetivo do escopo é unir o controlador e a visualização.
Criação de modelo
O modelo também é um objeto JavaScript regular que fica dentro do controlador. O modelo está disponível para a visualização, pois
está vinculado ao escopo do controle ($scope), conforme explicado anteriormente.
__________________________________________________________________________
Machine Translated by Google
Exemplo_________________________________________________________________
Criação de modelos.
função ExemploCtrl($escopo) {
$scope.students = Students;
__________________________________________________________________________
No código acima, criamos nosso primeiro modelo chamado ‘welcome’ que é uma string e um modelo chamado ‘students’,
que é um array de objetos. Como queremos que os dados do modelo sejam sincronizados com a nossa visualização,
tornamos cada modelo uma propriedade de $scope.
Completando a View
Agora que configuramos nosso controlador e definimos os modelos, devemos criar uma view para exibir os dados
ao usuário. Como view é o Document Object Model (DOM), escrevemos a view como se estivéssemos escrevendo
HTML normal e adicionaremos uma expressão.
______________________________________________________________________________
<!DOCTYPEhtml>
<html do aplicativo>
<cabeça>
<title>Bem-vindo ao AngularJS</title>
</head>
<corpo>
<div ng-controller=”ExampleCtrl”>
<h1>{{bem-vindo}}</h1>
Machine Translated by Google
<ol>
var usuários = [
} </script>
</body>
</html>
__________________________________________________________________________
Agora temos nosso modelo MVC com nossos dados, apresentação do cliente e mecanismo para manter ambos
sincronizados automaticamente. Esta é a primeira etapa para concluir um aplicativo AngularJS funcional. A seguir,
aprenderemos os componentes básicos, suas finalidades, suas responsabilidades específicas e as formas como
interagem entre si. Examinaremos agora os componentes conceituais de uma aplicação AngularJS.
Machine Translated by Google
O diagrama a seguir descreve os principais elementos do AngularJS que serão discutidos neste livro.
Recursos principais
Vinculação de dados: A sincronização automática de dados entre os componentes do modelo (backend) e da visualização (frontend).
Serviços: Objetos que são instanciados apenas uma vez por sessão.
Diretivas: Marcadores em elementos Document Object Model (DOM) que podem ser usados para gerar tags HTML personalizadas.
Machine Translated by Google
Model View Controller (MVC): Este é um padrão de divisão de um aplicativo nos seguintes componentes: o Modelo, a
Visualização e o Controlador. Todos esses componentes têm responsabilidades específicas.
Deep Linking: o deep linking codifica o estado de um aplicativo na URL, para que ele possa ser restaurado para o mesmo
estado da URL em uma nova sessão.
Injeção de dependência: um subsistema integrado para ajudar no desenvolvimento e teste de aplicativos AngularJS.
Visualizações
No AngularJS, cada elemento HTML é representado por um objeto DOM (Document Object Model). O
o navegador lê as propriedades do objeto DOM e renderiza o elemento HTML na página.
Aplicativos da web dinâmicos normalmente utilizam JavaScript ou bibliotecas baseadas em JavaScript, como jQuery, para
apresentar objetos DOM em seu comportamento e aparência renderizados com base nas propriedades do DOM. O produto
final renderizado é chamado de visualização. O número de visualizações possíveis em uma única página da web é ilimitado.
Expressões
AngularJS inclui a capacidade de colocar expressões de dados dentro de elementos HTML. AngularJS avalia expressões
e projeta dinamicamente o resultado em uma visualização do cliente. Como as expressões estão vinculadas ao escopo, a
expressão pode utilizar valores no escopo. À medida que o modelo de dados muda, também mudam os valores da expressão.
As expressões podem ser colocadas entre colchetes duplos: {{ expressão }}. Eles também podem ser escritos dentro de uma
diretiva: ng-bind="expression". Depois que as expressões são executadas, o controlador envia os resultados para o local
HTML onde a expressão foi escrita. Assim como as expressões JavaScript, elas podem incluir literais, operadores e variáveis.
Exemplo_(Expressões)_____________________________________________________________
<!DOCTYPEhtml>
<html>
app>
<p>Exemplo de
</body>
</html>
Saída
Expressão de exemplo: 2
Machine Translated by Google
Expressões angulares são como expressões JavaScript com as seguintes diferenças: Contexto: As
expressões JavaScript são interpretadas globalmente em todo o aplicativo. As expressões AngularJS são avaliadas dentro do
escopo de um objeto.
Sem instruções de fluxo de controle: AngularJS não possui estas expressões de programação comuns: “condicionais”, “loops”
ou “exceções”.
Nenhuma declaração de função: As funções não podem ser declaradas em expressões AngularJS, nem mesmo dentro da
diretiva ng-init.
Para código JavaScript mais complexo, você pode criar um método de controlador que é iniciado na visualização do cliente.
Módulos
Tudo em seu aplicativo AngularJS está contido em um módulo. Eles são usados para manter controladores e outros códigos relevantes sobre nosso
aplicativo. Colocar o código dentro de módulos diferentes protege o código de ser considerado de escopo “global”, dando a você mais controle sobre o
funcionamento do seu aplicativo. Um módulo representa componentes em um aplicativo. É um tipo de contêiner para os controladores de aplicativos. O
nome dado a um módulo ajuda você a referenciar escopos, diretivas e outros componentes do aplicativo. Módulos nomeados são muito úteis para
empacotar e reutilizar vários elementos de um aplicativo. A diretiva ng-app atribui cada página da web e visualização a um módulo específico.
Adicionando um controlador
Agora adicionaremos um controlador à nossa aplicação, referindo-nos ao controlador com a diretiva ng-
controller:
______________________________________________________________________________
<!DOCTYPEhtml>
<html>
<script>
var app = angular.module("exampleApp", []);
app.controller("exampleCtrl", function($scope)
{ $scope.firstName = "eBook";
$scope.last_name = "Leitor"; });
</
script> </
body>
</html>
Saída
leitor de ebook
Diretivas
As diretivas ajudam a dar vida aos aplicativos AngularJS. As diretivas são usadas para criar a sintaxe original e
cada uma começa com o prefixo ng- (que significa "Angular"). Uma diretiva é atribuída para dar a um elemento
DOM um comportamento especial. Por exemplo, “ng-repeat” repete um elemento específico e “ng-show” mostra
um elemento apenas sob certas condições. A ideia por trás das diretivas é simplesmente tornar seu HTML
verdadeiramente interativo, anexando ouvintes de eventos (objetos que iniciam ações em resposta a outras ações)
aos elementos e agindo no DOM atribuído. AngularJS inclui uma variedade de diretivas integradas úteis, mas
também é útil para criar diretivas personalizadas para suas necessidades individuais. Você também pode criar suas
próprias diretivas. A diretiva ng-app inicia um aplicativo AngularJS. A diretiva ng-init inicia os dados do aplicativo. A
diretiva ng-model sincroniza o valor dos controles de entrada do usuário com os dados do aplicativo.
Você pode criar diretivas personalizadas, porém é uma boa prática não usar o prefixo “ng”, devido a possíveis conflitos.
______________________________________________________________________________
Exemplo (Diretivas)_____________________________________________________________
<!DOCTYPEhtml>
<html>
return
{ template: "exemplo de construtor de diretiva"
}; }); </
script> </body>
</html>
Saída
<!DOCTYPEhtml>
<html>
<script>
var app = angular.module('exampleApp', []);
app.controller('exemploCtrl', function($escopo) {
$scope.name = "Leitor de e-
book"; });
</script> <p>Esta é a diretiva ng-model.</
p> </body>
</html>
Saída
Nome:
Machine Translated by Google
AngularJS permite combinar modelos com diferentes diretivas, para que você possa combinar o HTML com o JavaScript para
exibições dinâmicas e exclusivas. Isso amplia muito os recursos do HTML. As directivas estão divididas em duas partes. A Parte 1
inclui: classes CSS, atributos adicionados e elementos que são adicionados ao HTML. A segunda parte inclui JavaScript, que
estende o comportamento do HTML.
Um recurso popular do AngularJS são as diretivas AngularJS integradas que lidam com a maior parte da manipulação do DOM
necessária para sincronizar o conteúdo do escopo com os elementos na visualização do cliente.
Você pode criar suas próprias diretivas personalizadas para adicionar funcionalidade ao seu aplicativo da web.
Ligação de dados
A vinculação de dados integrada é talvez o recurso mais popular do AngularJS. A vinculação de dados é a sincronização entre
a visualização e o modelo de dados. O processo de vinculação de dados une os dados do modelo (a coleção de dados disponíveis
para o aplicativo) com a visualização (elementos na página da web). Com AngularJS, os dados são vinculados em ambas as
direções. À medida que os dados são inseridos por meio da página da web, o modelo de dados de back-end é atualizado e, quando
os dados são modificados no modelo de back-end, a página da web é atualizada automaticamente. Desta forma, os dados atuais
do modelo são sempre representados com precisão para o usuário, tornando a visualização uma simples projeção do modelo.
______________________________________________________________________________
Exemplo_(vinculação de dados)__________________________________________________________
______________________________________________________________________________
Visualização HTML
O contêiner da página da web onde os objetos e dados do aplicativo são exibidos para o usuário é chamado de visualização. A
visualização está vinculada ao modelo por meio do processo de vinculação de dados. Uma maneira de exibir os dados do modelo
na visualização é usar a diretiva ng-bind.
______________________________________________________________________________
Exemplo_(Visualização HTML)__________________________________________________________
<!DOCTYPEhtml>
<html>
<p of-bind="sobrenome"></p>
</div>
<script>
app.controller('exampleCtrl', function($scope)
{ $scope.firstname = "eBook";
script>
<p>A diretiva ng-bind para sincronizar os elementos HTML com o modelo de dados.</p> </
body>
</html>
Saída A
Você também pode usar colchetes duplos {{ }} para exibir o conteúdo do modelo (por exemplo, nome: {{last_name}}).
Vinculação bidirecional
A vinculação de dados no AngularJS envolve reunir o modelo (dados) e a visualização (o que o usuário vê). Quando os
dados no modelo são alterados, a visualização reflete a alteração e, quando os dados na visualização são alterados, o modelo
também é atualizado. Isso acontece simultaneamente, mantendo o modelo e a visualização sempre sincronizados. A vinculação
de dados bidirecional é uma maneira de realizar essa sincronização. Qualquer mudança que aconteça no back-end acontece no
front-end e vice-versa. Esse processo permite que você obtenha alto desempenho em seu aplicativo da web com muito menos
esforço do que seria necessário em qualquer outra linguagem de programação ou codificação. Para fazer isso em jQuery, você
teria que codificar a lógica no modelo e na visualização.
No entanto, no AngularJS o $scope faz o trabalho para você.
______________________________________________________________________________
Exemplo_(vinculação bidirecional)______________________________________________________
<!DOCTYPEhtml>
<html>
<h1>{{last_name}}</h1>
</div>
<script>
app.controller('exampleCtrl', function($scope)
{ $scope.firstname = "eBook";
script>
<p>Quando você altera o nome dentro do campo de entrada, os dados do modelo serão alterados automaticamente,
assim como o cabeçalho.</
p> </body>
</html>
Saída
Nome:
Leitor
Quando você altera o nome dentro do campo de entrada, os dados do modelo serão alterados automaticamente, assim
como o cabeçalho.
Controladores
Um Controller é um objeto que gerencia outros objetos no aplicativo. O controlador não conhece detalhes sobre o
objeto que controla, porém sabe como acessar o objeto, como obter informações sobre ele ou como passá-lo para a
visualização para exibição. Se sua aplicação tiver um objeto como aluno, ela também terá um alunoController. A estrutura
MVC é completada por meio de controladores. Esses controladores são usados para regular os dados e o fluxo de
aplicações AngularJS. Controladores são adicionados a elementos HTML por meio de diretivas implementadas como
objetos JavaScript, que contêm propriedades e funções.
Eles complementam o escopo da aplicação estabelecendo seu estado e dando-lhe comportamentos específicos. A diretiva
ng-controller é usada para definir o controlador AngularJS. O parâmetro $scope refere-se à aplicação ou módulo que será
tratado por um controlador específico. Como o modelo e a visualização estão sincronizados, um controlador pode ser
totalmente separado da visualização e simplesmente operar nos dados do modelo.
Devido à ligação de dados do AngularJS, a visualização sempre refletirá as alterações feitas no controlador.
______________________________________________________________________________
Exemplo (Controlador)_______________________________________________________________
<!DOCTYPEhtml>
<html>
ng-model="last_name"><br>
<br>
Machine Translated by Google
""
Nome completo: {{primeiroNome + + sobrenome}}
</div>
<script>
app.controller('exampleCtrl', function($scope)
{ $scope.firstName = "eBook";
script> </
body>
</html>
Saída
Primeiro nome:
Sobrenome:
______________________________________________________________________________
A aplicação AngularJS é definida por ng-app="myApp". A aplicação é executada dentro do <div>. O atributo ng-
controller="exampleCtrl" é uma diretiva AngularJS. Ele define um controlador.
A função exampleCtrl é uma função JavaScript. AngularJS invocará o controlador com um objeto $scope. No AngularJS,
$scope é o objeto do aplicativo (o proprietário das variáveis e funções do aplicativo).
O controlador cria duas propriedades (variáveis) no escopo (firstName e last_name). As diretivas do modelo ng vinculam os
campos de entrada às propriedades do controlador (firstName e last_name).
Métodos de controlador
O exemplo acima demonstrou um objeto controlador com duas propriedades: last_name e firstName. Um controlador também
pode ter métodos (variáveis como funções):
______________________________________________________________________________
Exemplo_(Método do Controlador)______________________________________________________
<!DOCTYPEhtml>
<html>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>
<corpo>
<br>
</div>
<script>
app.controller('exampleCtrl', function($scope)
{ $scope.firstName = "eBook";
$scope.last_name = "Leitor";
}; }); </
script> </body>
</html>
Saída
Primeiro:
Durar:
______________________________________________________________________________
Escopos
O escopo sincroniza o HTML (visualização) e o JavaScript (controlador). Este é um objeto com propriedades e métodos acessíveis. É acessível tanto
para a visualização quanto para o controlador, que passa o objeto no $scope como argumento. Assim que seu aplicativo é iniciado, o AngularJS gera o
“$rootScope”. À medida que o escopo pesquisa o DOM, ele encontra e processa diretivas, algumas das quais (como “ng-controller”) solicitam novos
escopos. Assim que a compilação for concluída, o AngularJS terá produzido uma réplica da árvore de escopo da árvore DOM. Escopos separados
permitem que diferentes partes da visualização separem suas apresentações do modelo de dados.
______________________________________________________________________________
Exemplo_(Escopo)________________________________________________________________
<!DOCTYPEhtml>
<html>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>
Machine Translated by Google
<body>
<app-div="exampleApp" controller="exampleCtrl"> <h1>{{estado}}
</h1>
</div>
<script>
var app = angular.module('exampleApp', []);
app.controller('exampleCtrl', function($scope)
{ $scope.state = "Califórnia"; });
</
script> </
body>
</html>
Saída
Califórnia
___________________________________________________________________
Quando você adiciona propriedades ao $scope dentro do controlador, essas propriedades também são acessadas pela visualização.
Na visualização, você apenas se refere ao nome de uma propriedade, como {{state}} em vez de usar o prefixo $scope.
O escopo possui propriedades que são compartilhadas tanto com a visualização quanto com o controlador.
______________________________________________________________________________
Exemplo_(Propriedades do Escopo)_______________________________________________________
<!DOCTYPEhtml>
<html>
<h1>{{shape}}</h1>
<script>
var app = angular.module('exampleApp', []);
app.run(função($rootScope){
Machine Translated by Google
app.controller('exemploCtrl', function($escopo) {
</
script> </
body>
</html>
Saída
círculo
quadrado
círculo
______________________________________________________________________________
Filtros
Filtra dados de formato no aplicativo. AngularJS inclui vários filtros para transformar dados: arrays
Filtros podem ser adicionados colocando um símbolo de “barra vertical” | na frente do filtro.
<!DOCTYPEhtml>
<html>
<script>
angular.module('exampleApp', []).controller('personCtrl', function($scope) {
$scope.firstName = "eBook",
$scope.last_name = "Leitor" });
</
script> </
body>
</html>
Saída
______________________________________________________________________________
Filtros podem ser adicionados a diretivas, como ng-repeat, usando a barra vertical |, seguida por um filtro:
______________________________________________________________________________
<!DOCTYPEhtml>
<html>
ng-
objetos:</p>
<ul>
</ul>
</div>
<script>
{nome:'Lisa',estado:'Illinois'},
{nome:'Carl',estado:'Marylad'},
{nome:'Susan',estado:'Texas'},
{nome:'Lisa',estado :'Geórgia'},
{nome:'Mick',estado:'Massachusettes'},
{nome:'Gary',estado:'Flórida'},
{nome:'Marcia',estado:'Louisiana'}, ];
});
</script>
</body>
</html>
Saída
Machine Translated by Google
Gary, Flórida
Lisa, Geórgia
Lisa, Illinois
Márcia, Luisiana
Carl, Marylad
Mick, Massachusetts
Susana, Texas
______________________________________________________________________________
O Filtro “Filtro”
______________________________________________________________________________
Exemplo_(Filtro Filtro)____________________________________________________________
<!DOCTYPEhtml>
<html>
{{x}}
</li>
</ul>
</div>
<script>
$ escopo.names = [
'Pele',
'Carlo',
'John',
'Branco',
'João',
Machine Translated by Google
'Marco',
'Sara',
];
});
</script>
</body>
</html>
Saída
Pele
Joe
______________________________________________________________________________
Filtros personalizados
Ao registrar uma função chamada “fábrica de filtros” com seu módulo, você pode criar seus próprios filtros personalizados:
Neste exemplo, criaremos um filtro exclusivo que tornará todas as letras maiúsculas.
______________________________________________________________________________
Exemplo_(Filtro Personalizado)__________________________________________________________
<!DOCTYPEhtml>
<html>
em nomes">
{{y | exemploFiltro}}
</li>
</ul>
<script>
app.filter('exemploFiltro', function() {
c = x[eu];
Machine Translated by Google
if (i% 2 == 0) { c =
c.toUpperCase();
}
txt+= c;
}
retornar txt;
{ $scope.names = [
'Janeiro',
'Carlo',
'Maggie',
'Mesclado',
'João',
'Gary',
'Terraço',
'Marco',
];
});
</script>
</html>
Saída
Janeiro
CaRl
Magali
Mesclado
JoE
GaRy
TeRrAnCe
MaRc
______________________________________________________________________________
Serviços
Machine Translated by Google
AngularJS usa objetos individualizados chamados serviços para realizar tarefas especializadas. Filtros e
controladores dependem de serviços conforme a necessidade. Os serviços normalmente usam o mecanismo de
injeção de dependência. Existem muitos serviços integrados ao AngularJS, como $route, $location, $window, $http,
etc., cada um no controle de uma tarefa diferente. O serviço $http, por exemplo, contém tudo o que é necessário
para acessar e coletar dados de um servidor web e repassá-los ao serviço $route, que por sua vez os define.
Você também pode criar serviços personalizados e reutilizá-los em todo o seu código. Os serviços integrados são
fáceis de identificar no código, pois sempre começam com o cifrão ($).
______________________________________________________________________________
Exemplo_(Serviço)_______________________________________________________________
<!DOCTYPEhtml>
<html>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>
<corpo>
<div ng-controller="exampleCtrl" ng-app="exampleApp" >
<p>O endereço URL desta página é:</p>
<h3>{{exampleUrl}}</h3>
</div>
<roteiro>
var app = angular.module('exampleApp', []);
app.controller('exampleCtrl', function($scope, $location)
{ $scope.exampleUrl = $location.absUrl();
});
</script>
</body>
</html>
Saída
O serviço $http O
serviço $http é um serviço comumente usado em AngularJS. Uma solicitação ao servidor é iniciada pelo serviço
e o aplicativo trata da resposta.
______________________________________________________________________________
Exemplo_($http Serviço)__________________________________________________________
Machine Translated by Google
<!DOCTYPEhtml>
<html>
vindo}}</h1>
</div>
<script>
{ $http.get("bem-vindo.htm").then(função (resposta)
</
script> </
body>
</html>
Saída
Bem-vindo ao AngularJS!
______________________________________________________________________________
JavaScript e XML assíncronos (AJAX) - $http Para obter acesso aos dados
em suas aplicações web, o cliente deve fazer solicitações a servidores remotos. Com JavaScript, elas são chamadas de solicitações AJAX. Usando
serviços $http, o AngularJS faz solicitações AJAX de dados de servidores remotos e retorna uma resposta ao aplicativo. AngularJS usa arquitetura de
serviços para apoiar o conceito de separação de interesses do AngularJS. É uma boa prática fazer chamadas AngularJS AJAX agrupando a solicitação
$http em uma fábrica e usando-a para servir dados. Isso ajuda a manter seu código mais organizado e separar as preocupações. Também permite pré-
processar os dados e usá-los em vários controladores.
As páginas da web padrão interagem com bancos de dados e servidores usando um formulário HTML para executar
scripts que GET e POST dados no servidor. O usuário clica em um botão para enviar/obter os dados, aguarda a resposta
do servidor e visualiza uma nova página de resultados que deve ser carregada no navegador. Esse processo pode ser lento,
principalmente ao lidar com arquivos grandes ou grandes quantidades de dados.
Ao utilizar AJAX, o JavaScript interage diretamente com o servidor, utilizando um objeto XMLHttpRequest.
Isso permite que uma página da web faça solicitações e obtenha respostas de servidores da web, sem que a página nunca
Machine Translated by Google
recarregando. O usuário clica em um botão que executa um script e os resultados são mostrados em um elemento HTML
identificado por um ID.
<div id=”ajaxResponse”></div>
______________________________________________________________________________
<!DOCTYPEhtml>
<html>
</h1>
</div>
p> <script>
'http://localhost:2307/Service1.svc' ;
SchoolDataOp.getSchols=função(){
return $http.get(urlBase+'/GetSchools');
};
};
Saída
A mensagem da escola é:
{{exampleSchools}}
Machine Translated by Google
______________________________________________________________________________
Métodos
<!DOCTYPEhtml>
<html>
p> <script>
Saída
A mensagem da escola
é: {{exampleSchools}}
A Escola está fechada hoje por causa da chuva.
______________________________________________________________________________
Propriedades
A resposta do servidor é um objeto com estas propriedades: .config o
objeto utilizado para gerar a solicitação. .data uma
string ou um objeto que transporta a resposta do servidor. .headers uma
função a ser usada para obter informações de
cabeçalho. .status um número que define o
status HTTP. .statusText uma string que define o status HTTP.
______________________________________________________________________________
Exemplo (Propriedades)_______________________________________________________________
<!DOCTYPEhtml>
<html>
<script>
var app = angular.module('exampleApp', []);
Machine Translated by Google
{ $http.get("welcome.htm") .then(function(response)
{ $scope.content = response.data;
Saída
______________________________________________________________________________
JSON
JSON (JavaScript Object Notation) é um formato para empacotar e armazenar dados. Uma vantagem deste formato é
que ele pode ser compreendido por leitores humanos.
Como um exemplo simples, as informações sobre mim podem ser escritas em JSON da seguinte forma:
_____________________________________________________________________________
Exemplo_(JSON - Objeto Único)__________________________________________________
var jason_Data = {
"idade": "30,
"cidade": "Chicago, IL"
"Nome": "João"
};
______________________________________________________________________________
Esta variável possui propriedades e valores contidos entre chaves. Esses valores podem ser acessados
chamando a variável e especificando a propriedade que queremos conhecer.
Machine Translated by Google
Uma única variável como essa pode incluir várias entradas adicionando mais chaves, colocando o objeto entre
colchetes e separando os objetos com vírgulas.
_____________________________________________________________________________
Exemplo_(JSON- Vários Objetos)________________________________________________
var jason_Data = [
{"Nome": "John"
"idade": "30,
"cidade": "Chicago,
IL", }, {
"nome": "Shelly",
"idade": "20",
"cidade": "Atlanta" }];
______________________________________________________________________________
JSON pode ser expresso em matrizes múltiplas e complexas sem comprometer sua simplicidade e legibilidade.
Os dados JSON podem ser armazenados em um servidor remoto e seguro ou em uma página do seu aplicativo da
web.
Selecione
AngularJS inclui listas suspensas baseadas no conteúdo de arrays ou em um objeto. Para criar uma lista suspensa,
com base em um objeto ou array em AngularJS, use a diretiva ng-options para criar uma caixa de seleção usando
ng-options.
______________________________________________________________________________
Exemplo_(Selecionar)________________________________________________________________
<html>
</div>
<script>
var app = angular.module('exampleApp', []);
Machine Translated by Google
app.controller('exampleCtrl', function($scope)
script> </
body>
</html>
Saída
______________________________________________________________________________
Eventos
As diretivas de eventos sinalizam ao aplicativo para responder às mudanças no ambiente. Algumas das alterações podem
ser iniciadas pelo usuário, outras podem ser funções automatizadas do programa. As diretivas a seguir podem ser
colocadas em seu HTML para escutar eventos aos quais seu aplicativo pode
responder.
de cópia
ng-cut
ng-dblclick
ng-focus
ng-keydown
ng-keypress
Machine Translated by Google
ng-keyup
ng-mousedown
ng-mouseenter ng-
mouseleave
movimento do mouse
ng-mouseover
do mouse
ng-paste
Eventos de mouse
Um evento Mouse acontece quando o usuário move o cursor sobre um elemento HTML:
entrada do mouse
movimento do mouse
ng-mouseleave
ng-mouseover
do mouse
ng-mousedown ng-
click
Eventos de mouse podem ser adicionados a qualquer elemento da página da web. Examinaremos a diretiva ng-click.
______________________________________________________________________________
<!DOCTYPEhtml>
<html>
</div>
<script>
app.controller('exampleCtrl', function($scope)
{ $scope.count =
0; }); </
script> </body>
</html>
Saída
Embora não seja renderizado aqui, no seu navegador você verá um botão. Ao clicar no botão, o número abaixo dele
aumentará incrementalmente em 1.
______________________________________________________________________________
Formulários
Os formulários em AngularJS são usados para validação de controles de entrada e ajudam na vinculação de dados e.
Quando um objeto de formulário é encontrado pelo compilador AngularJS, o compilador usa a diretiva ngForm para criar
um controlador de formulário. O objeto controlador de formulário procura todos os elementos de entrada e cria os controles
para cada um. O que é necessário a seguir é um atributo de modelo de dados para estabelecer a ligação de dados
bidirecional, que fornecerá feedback instantâneo ao usuário por meio dos métodos de validação AngularJS.
Existem 14 métodos de validação integrados no AngularJS. Esses métodos funcionam bem com elementos de entrada
HTML5 e são confiáveis em todos os principais navegadores da web.
Machine Translated by Google
Controles de entrada
de entrada
selecione elementos
elementos de botão
Os controles de
______________________________________________________________________________
Exemplo_(Formulário)________________________________________________________________
<!DOCTYPEhtml>
<html lang="pt">
Machine Translated by Google
Nome:<br> <input
type="text" ng-model="user.firstName"><br>
Sobrenome:<br>
<input type="text" ng-model="user.last_name">
<br><br>
<click button="reset()">RESET</button>
</form>
<p>formulário = {{usuário}}
</p> <p>mestre = {{mestre}}</p>
</div>
<script>
var app = angular.module('exampleApp', []);
app.controller('formCtrl', function($scope)
{ $scope.master = {firstName:"eBook", last_name:"Reader"};
$scope.reset = function()
{ $scope.user = angular.copy ($escopo.master);
};
$scope.reset(); });
</
script> </
body>
</html>
Saída
Primeiro nome:
Sobrenome:
REINICIAR
______________________________________________________________________________
Explicação
API Global
A API Global é uma coleção de funções JavaScript globais que executam tarefas, como:
Comparando objetos
Iterando objetos
Convertendo dados
API Descrição
angular.minúsculas()
______________________________________________________________________________
Exemplo_(API – Minúsculas)_______________________________________________________
<!DOCTYPEhtml>
<html>
</div>
<script>
var app = angular.module('exampleApp', []);
app.controller('exampleCtrl', function($scope)
{ $scope.x1 = "MIKE";
$scope.x2 = angular.lowercase($scope.x1); });
</
script> </
body>
</html>
Saída
Machine Translated by Google
MIKE
Mike
______________________________________________________________________________
Inclui
Com AngularJS Included, HTML externo pode ser incluído em sua página da web. Isso é feito usando a diretiva ng-include:
______________________________________________________________________________
Exemplo_(Inclui)______________________________________________________________
<!DOCTYPEhtml>
<html>
<div ng-include
="'exampleFile.htm'"></div> </body>
</html>
Saída
______________________________________________________________________________
Roteamento O módulo ngRoute permite navegar para diferentes partes do seu aplicativo sem que a página precise ser
recarregada. Você pode usar o módulo ngRoute para rotear seu aplicativo para várias páginas dessa maneira. Para preparar
seus aplicativos para roteamento, você deve incluir o módulo Route: <script
______________________________________________________________________________
Exemplo_(Rota)________________________________________________________________
Machine Translated by Google
app.config(function($routeProvider)
{ $routeProvider
.quando("/", {
1", { templateUrl:
"file1.htm" }) .when("/2",
{ templateUrl:
{ templateUrl:
______________________________________________________________________________
Os aplicativos AngularJS requerem um contêiner (diretiva ng-view) para armazenar os dados que o roteamento fornece.
Aqui examinamos as maneiras de incluir este contêiner:
______________________________________________________________________________
Exemplo_(Contêiner_____________________________________________________________
<div de visualização></div>
<ng-view></ng-view>
<div class="ng-view"></div>
______________________________________________________________________________
AngularJS permite apenas uma diretiva ng-view por aplicativo. Este é o espaço reservado para todas as visualizações fornecidas
pela rota.
$routeProvider
Usando o $routeProvider, você pode delinear qual página exibir quando um determinado link for clicado.
______________________________________________________________________________
Exemplo_(Provedor de rota)_________________________________________________________
Machine Translated by Google
app.config(function($routeProvider)
{ $routeProvider
.when("/",
{ templateUrl:
"main.htm" }) .when("/1",
{ templateUrl:
"file1.htm" }) .when("/2",
______________________________________________________________________________
O $routeProvider é definido usando o método de configuração AngularJS. Os processos carregados no método de configuração
são executados à medida que o aplicativo é carregado.
Controladores
Usando “$routeProvider” você também pode atribuir um controlador para cada visualização do cliente.
_____________________________________________________________________________
app.config(function($routeProvider){
$routeProvider
.when("/",
{ templateUrl :
}) .when("/2",
{ templateUrl : "file2.htm",
Machine Translated by Google
controlador: "arquivo2Ctrl"
{ $scope.msg = "Este é o
{ $scope.msg = "Este é o
arquivo2"; });
______________________________________________________________________________
O "file1.htm" e o "file2.htm" são arquivos HTML padrão, aos quais você pode adicionar expressões da mesma forma que faria
com qualquer outra seção HTML do seu aplicativo.
Modelos
Você pode usar a propriedade template para codificar HTML diretamente em um valor de propriedade.
______________________________________________________________________________
Exemplo_(Modelo)_____________________________________________________________
Escreva modelos:
app.config(function($routeProvider){
$routeProvider
.when("/",
apple", {
p>" }) .when("/orange", {
______________________________________________________________________________
Machine Translated by Google
Agora construiremos um aplicativo AngularJS completo. Vamos criar uma lista simples de alunos onde podemos adicionar ou
remover indivíduos:
Trina
Jill
Adicionar
Primeiros passos:
comece criando um aplicativo chamado studentList e adicione um controlador chamado exampleCtrl a ele.
No HTML, usamos a diretiva ng-repeat para exibir uma lista usando os alunos no array.
______________________________________________________________________________
Exemplo_(Lista de Alunos)___________________________________________________________
Neste ponto, fizemos uma lista HTML baseada nos alunos em um array:
<script>
app.controller("exampleCtrl", function($scope)
script>
</div>
______________________________________________________________________________
Adicionando Alunos:
Adicione um campo de texto ao HTML e vincule-o ao seu aplicativo usando a diretiva ng-model.
Crie uma função no controlador e nomeie-a como addStudent. Use addMe como o valor do campo de entrada e adicione um
item à matriz Students.
Adicione um botão que inclua a diretiva ng-click. Isso executará a função addStudent quando o usuário clicar no botão.
______________________________________________________________________________
Exemplo_(Adicionar Alunos)__________________________________________________________
Agora adicionaremos itens à nossa lista de alunos:
<script>
app.controller("exampleCtrl", function($scope)
$scope.addStudent = function () {
$scope.students.push($scope.addMe);
} }); </script>
of-click="addStudent()">Adicionar</button>
</div>
______________________________________________________________________________
Removendo Alunos:
Precisamos ser capazes de remover alunos de nossa lista de alunos.
Machine Translated by Google
Faça uma função no controlador, chamada “removeStudent”. Isso aceitará o índice do aluno que você deseja remover como
parâmetro.
Crie um elemento <span> para cada aluno no HTML e forneça a eles uma diretiva ng-click que inicia a função removeStudent
com o $index atual.
_____________________________________________________________________________
Exemplo_(Remover Alunos)______________________________________________________
Agora podemos remover alunos da nossa lista de alunos:
<script>
app.controller("exampleCtrl", function($scope)
$scope.addStudent = function () {
$scope.students.push($scope.addMe);
{ $scope.students.splice(x, 1);
} }); </script>
<span
ng-click="removeStudent($index)">×
</li>
</ul>
of-click="addStudent()">Adicionar</button>
</div>
______________________________________________________________________________
Manipulação de erros:
Machine Translated by Google
O aplicativo apresenta alguns erros, como se você tentar adicionar o mesmo aluno duas vezes, o aplicativo trava.
Além disso, não deve ser permitido adicionar itens vazios.
No HTML, adicionaremos um contêiner para mensagens de erro e escreveremos uma mensagem de erro quando alguém
tentar adicionar um aluno existente.
______________________________________________________________________________
Exemplo_(Tratamento de erros)_________________________________________________________
<script>
app.controller("exampleCtrl", function($scope)
$scope.addStudent = function ()
{ $scope.errortext = ""; if
(!$scope.addMe) {return;} if
($scope.students.indexOf($scope.addMe) == -1)
{ $scope.students.push($scope.addMe); }
else
$scope.errortext = "";
$scope.alunos.splice(x, 1);
} }); </script>
<span
ng-click="removeStudent($index)">×
Machine Translated by Google
</li>
</ul>
<model input="addMe">
<clickbutton="addStudent()">Adicionar</button>
<p>{{errortext}}</p>
</div>
______________________________________________________________________________
Design:
Nosso aplicativo agora está funcional, porém precisa de um design melhor. Se você não quiser gastar muito tempo projetando
CSS, acesse http://www.extractcss.com/, e selecione estilos que serão convertidos automaticamente em formato CSS para você.
AngularJS é considerado uma linguagem de script que simplifica a codificação e expande o leque de possibilidades para
interações do usuário baseadas na web. Apesar de seus muitos recursos integrados úteis, o AngularJS não é perfeito para todo
o desenvolvimento de aplicativos da web. Editores de jogos e GUI, por exemplo, exigem aplicativos com manipulações
avançadas de elementos DOM. Esses tipos de aplicativos são Geralmente, aplicativos de banco de dados CRUD (Criar,
Recuperar, Atualizar e Excluir) são os mais adequados para AngularJS. Nestes casos pode ser melhor utilizar uma biblioteca
online com menor nível de abstração, como JQuery.
Separe os scripts lógicos do aplicativo dos scripts de manipulação do DOM. Isso pode ajudar a tornar sua estrutura de
codificação mais adequada para testes.
É útil separar o lado do cliente do lado do servidor durante o desenvolvimento do aplicativo. Isso permite reutilizar ambos os
lados do código para outros projetos de desenvolvimento não relacionados.
Use estruturas para design de UI, modelagem lógica e testes de aplicativos para orientá-lo durante o processo de desenvolvimento
de aplicativos. Isso economizará muito tempo e energia; Não há necessidade de reinventar a roda.
Use bootstrapping para injetar automaticamente serviços e recursos on-line predefinidos em seu aplicativo. Isso ajuda você a
implementar recursos mais rapidamente. Isso também evitará que você tenha que escrever páginas de código de inicialização
em um esforço para fazer os recursos básicos funcionarem.